php数据库问题,求助。。。。
初学PHP来的,想自己写一个登陆的页面,但现在连验证帐号都过不去,请大家看下我的代码是哪里有问题
<?php
$user123 = $_POST['user'];
$db = new mysqli($sqln,$sqlu,$sqlp,$sqld) or die("Error in the consult.." . mysqli_error($db));
$query = "SELECT 'user_email' FROM 'user' WHERE 'user_email' = '$user123'";
// mysql_select_db($sqld);
mysqli_select_db($db, $sqld);
$result = $db->query($query) or die("Error in the consult.." . mysqli_error($db));
if ($result == 1){
echo "<p> 登陆成功 </p>";
}
elseif ($result == 0){
echo "<p> 没有找到 </p>";
}
echo $_POST["user"];
$dba = $db->affected_rows;
echo $dba;
mysqli_close($db);
?>
$result = $db->query($query) or die("Error in the consult.." . mysqli_error($db));
这句不加后面的错误显示的话后面的 echo $dba 显示的是-1,但是我输入的帐号在数据库里面是有的。
我输入的user123是 vvvvy
但是网页打开来提交后显示这个错误 Error in the consult..You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''user' WHERE 'user_email' = 'vvvvy'' at line 1
------解决方案--------------------复制以下语句应该就可以了
$query = "SELECT user_email FROM `user` WHERE user_email = '$user123'";
------解决方案--------------------你的程序两个地方错误
第一:你的sql语句里的符号用错了,字段和表是不是可以用单引号的引起来的
可以改成:$query = "SELECT user_email FROM `user` WHERE user_email = '$user123'";
第二:因为你的$result的值要么是false要么就是ID,所你的判断条件有问题,你可以直接不用等于1或0
例如:if($result){
...
}
else if($result){