Прошу строго не судить, новичок, а поэтому много ещё не понимаю. В чём заключается проблема? при обработке этого кода, выдаётся ошибка PHP: <?php $host='localhost'; $database='host1773545_db'; $user='***'; $pswd='***'; $dbh=mysqli_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL."); mysqli_select_db($dbh, $database) or die("Не могу подключиться к базе."); $login = 'admin'; $pass = "***"; $sql = mysqli_query("Select id from users where login = '$login' and pass = md5('$pass')"); if (mysqli_num_rows($sql) > 0) { die("Авторизация прошла успешно"); } else { print "Ошибка авторизации"; } ?> ошибка(на английском): Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/host1773545/host1773545.hostland.pro/htdocs/www/admin/index.php on line 12 Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /home/host1773545/host1773545.hostland.pro/htdocs/www/admin/index.php on line 13 ошибка(на русском): Предупреждение : mysqli_query () ожидает как минимум 2 параметра, 1 из которых указан в /home/host1773545/host1773545.hostland.pro/htdocs/www/admin/index.php в строке 12 Предупреждение : mysqli_num_rows () ожидает, что параметр 1 будет mysqli_result, null указано в /home/host1773545/host1773545.hostland.pro/htdocs/www/admin/index.php строке 13 помогите пожалуйста, где допустил ошибку?
Вот эти две строчки замени PHP: $dbh=mysqli_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL."); mysqli_select_db($dbh, $database) or die("Не могу подключиться к базе."); на PHP: $dbh = mysqli_connect($host, $user, $pswd, $database); /* проверяем соединение */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); }
ну вроде даже на русский перевел, неужели не понятно - ожидает как минимум 2 параметра, 1 из которых указан значит нужно указать и второй параметр!!!! PHP: $sql = mysqli_query($dbh,"Select id from users where login = '$login' and pass = md5('$pass')");
Видимо скрипт был написан под старое расширение mysql (без i). Кроме этой одной буковки надо в каждый query добавить параметр "соединение", у тебя это $dbh.
а какой второй параметр надо указать? --- Добавлено --- к сожалению, ошибка не в этом. Даже заменив, результат остаётся прежний
у mysql тоже есть функция md5 , как ты думаешь в твоем скрипте функция md5() выполняется как php или как mysql функция?
Сравни свой вариант с написанным для тебя В процедурном MySQLi соединение является обязательным параметром.