У меня есть только база данных и почему она запрашивает 2 параметра?
Предупреждение: mysqli_select_db () ожидает ровно 2 параметра, 1 заданных в C: \ xampp \ htdocs \ video_upload \ connect.php в строке 5
<?php mysqli_connect('localhost', 'root', ''); //connecting to the database mysqli_select_db('video_system'); //chosing a database ?>
функция mysqli_select_db
, при использовании процедурного API вам необходимо передать фактическое соединение в качестве первого параметра, как показано на страницах руководства . Это соединение или ссылка – это то, что возвращает mysqli_connect
, поэтому вы не должны игнорировать то, что возвращает mysqli_connect
, а скорее назначить его переменной.
Подпись функции четко говорит вам обо всем этом, поэтому, пожалуйста, RTM . Вот несколько экземпляров с копированием:
\/=============================| bool mysqli_select_db ( mysqli $link , string $dbname ) || //returns bool argument 1 argument 2 || mysqli mysqli_connect ([...]) || //returns type mysqli accepts vast number of arguments || // || |======== useful here =======================|
Это означает, что вам придется писать:
$db = mysqli_connect('localhost', 'root', ''); mysqli_select_db($db, 'video_system');
Как и в руководстве && signature show, этот mysqli_select_db
возвращает bool. true
означает, что DB успешно выбрана, false
указывает на сбой. Лучше всего привыкнуть проверять возвращаемые значения функции . Как бы ни казалось тривиальным. Так:
$db = mysqli_connect('localhost', 'root', ''); if (!mysqli_select_db($db, 'video_system')) {//if return value is false, echo error message and exit script echo 'Failed to select db "video_system": ', mysqli_error($db), PHP_EOL; $db = null;//optional, but generally safer exit(1);//stop execution } //db selected, get to work here
Но вы можете легко опустить этот второй вызов функции, передав имя выбора mysqli_connect
функции mysqli_connect
из выключения:
$db = mysqli_connect('127.0.0.1', 'root', '', 'video_system');
Это экономит накладные расходы на дополнительный вызов функции, что немного повышает производительность. Я также изменил строку localhost
на IP-адрес 127.0.0.1, что также может помочь, поскольку использование IP означает, что строка не должна быть разрешена к соответствующему IP-адресу.
В целом, я думаю, что лучше всего потратить некоторое время на чтение документации