$con = mysql_connect("xx","xx","xx");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("ban", $con);
$pass=$_POST["password"];-------------> line 10
$mail=$_POST["email"];----------------->line 11
$result31 = mysql_query
("SELECT * FROM `users` WHERE email = '$mail'AND password='$pass'");
$login_check = mysql_num_rows($result31);
echo $login_check;
mysql_close($con)
这是登录系统的一部分,但它无法正常工作
我得到的错误是: -Notice: Use of undefined constant password - assumed 'password' in D:\wamp\www\phpadder.php on line 10
Notice: Use of undefined constant email - assumed 'email' in D:\wamp\www\phpadder.php on line 11
Warning: mysql_num_rows() expects parameter 1 to be resource, string given in D:\wamp\www\phpadder.php on line 17
它出了什么问题?
答案 0 :(得分:1)
在您的错误上,它表示您在密码变量之前忘记了$ symbole,
但也
您的查询应该是
("SELECT * FROM `users` WHERE email = '$mail' AND password='$pass'");
您忘记在邮件和AND之间添加空格
在使用查询
之前,还要考虑首先转义您的值$sql = "SELECT * FROM `users` WHERE email = '%s' AND password='%s'";
$sql = sprintf($sql,mysql_real_escape_string($mail),mysql_real_escape_string($pass));
现在你可以查询
$result = mysql_query($sql);
答案 1 :(得分:1)
您看到的错误是因为您可能在某处使用$_POST[password]
和$_POST[email]
但是,这些只是注意事项,如果你读得很好,你会发现它们与使用它们周围的引号具有相同的效果(你真的应该这样做!)
但是您的查询也不正确,这将创建一个有效的查询:
$result31 = mysql_query
("SELECT * FROM
{用户{1}}
请注意WHERE email = '$mail' AND password='$pass'");
和'$mail'
之间的额外空格。