Как исправить эту проблему?Как исправить Предупреждение: mysql_num_rows(): предоставленный аргумент не является допустимым ресурсом результата MySQL
Предупреждение: mysql_num_rows(): поставляется аргумент не является допустимым MySQL результат ресурса в /home/u940004575/public_html/index.php на линии 114
Я изменил и повозился с этим кодом слишком долго кто-то пожалуйста, помогите
<?
mysql_connect("XXXXX","XXXXX","XXXXX") or die(mysql_error());
mysql_select_db("u940004575_chat");
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$sha1mypassword = sha1($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sha1mypassword = mysql_real_escape_string($sha1mypassword);
$sql=mysql_query("SELECT id FROM users WHERE username='$myusername' and password='$sha1mypassword'")or die(mysql_error());
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
session_register("myusername");
session_register("mypassword");
header("location:home.php");
}
else {
echo "Wrong Username or Password";
}
?>
много устаревших функций .... – itachi
Действительно больно видеть такой код. Сначала не используйте короткие открытые теги, это избавит вас от некоторых проблем при переходе в другую среду ''. Второе использование PDO или mysqli с подготовленными операторами, это предотвратит большинство векторов атаки инъекций SQL. Последнее, пожалуйста, не используйте 'sha1', это очень быстро, и вы должны использовать что-то вроде' bcrypt'. – HamZa
Вы должны выполнить 'if ($ result)' перед проверкой 'mysql_num_rows()'. Вы все равно используете устаревшие функции базы данных, и вам нужно использовать что-то вроде mysqli или PDO. – MahanGM