Mysql php登录系统问题
这是登录系统的一部分,但工作不正常 我得到的错误是:-Mysql php登录系统问题,mysql,Mysql,这是登录系统的一部分,但工作不正常 我得到的错误是:- $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"];----
$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)
有什么问题吗?在您的错误中,它说您忘记了密码变量前面的$symbole 而且 您的查询应该是
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
您忘记在邮件和之间添加空格
也可以考虑在使用查询
之前先逃避值。("SELECT * FROM `users` WHERE email = '$mail' AND password='$pass'");
现在您可以查询
$sql = "SELECT * FROM `users` WHERE email = '%s' AND password='%s'";
$sql = sprintf($sql,mysql_real_escape_string($mail),mysql_real_escape_string($pass));
您看到的错误是因为您可能正在某处使用
$\u POST[password]
和$\u POST[email]
。然而,这些只是通知,如果你仔细阅读它们,你会发现它们与在它们周围使用引号具有相同的效果(你真的应该这样做!) 但您的查询也不正确,这将创建一个有效的查询:
$result31=mysql\u查询
(“从
usersWHERE-email='$mail'和password='$pass'中选择*)代码>
请注意“$mail”
和之间的额外空格和和代码的第10行在哪里?我猜您在问题检查中写的是正确的,如果您在代码中写的方式与问题中写的方式相同
$result = mysql_query($sql);