我有这段PHP代码:
<?php
$username=$_POST['username'];
$password=$_POST['password'];
if($username&&$password){
$connect=mysql_connect("localhost","root","") or die(" Couldnt connect");
mysql_select_db("phplogin") or die ("Can't find database" .mysql_error());
$query=mysql_query("SELECT * users WHERE username='$username' ");
$numrows=mysql_num_rows($query);
if (!$query) {
die('Invalid query: ' . mysql_error());
}
}
else
die ("Enter username and password!") .mysql_error();
?>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行此代码时,我收到以下错误:
警告:mysql_num_rows()期望参数1是资源,布尔值在第9行的C:\ wamp\www\PHP testing\login.php中给出
和
您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在第1行的'users WHERE username ='alex''附近使用正确的语法
谁能向我解释我在这里做错了什么?
您必须使用FROM关键字指定要从中选择的表:
$query=mysql_query("SELECT * FROM users WHERE username='$username' ");
$numrows=mysql_num_rows($query);
Run Code Online (Sandbox Code Playgroud)
您应该在查询后检查错误,然后系统会告诉您哪里出错了
$query = mysql_query("SELECT * users WHERE username='$username' ");
if (mysql_error() {
die(mysql_error());
}
$numrows = mysql_num_rows($query);
Run Code Online (Sandbox Code Playgroud)
正如@mike所评论的那样,您的选择查询缺少位
"SELECT * FROM users WHERE username='$username' "
Run Code Online (Sandbox Code Playgroud)