PHP中使用mysqli_fetch_object的一个错误



 mysqli_select_db($con,"my_2db"); //选择操作库
    $query='SELECT password FROM user WHERE account='.$account;//定义sql查询语句
    $result=mysqli_query($con,$query); //发送sql查询

    if($obj=mysqli_fetch_object($result))//取查询完的结果

数据库中只有一条记录

clipboard.png
当我查询account='13'时,按我php代码中返回的密码错误的提示,当我查询account='1a'时报错
报错如下

clipboard.png
请问下是我数据库有问题还是其他一些原因,我在phpmyadmin中使用语句


 SELECT password FROM user WHERE account='13'


 SELECT password FROM user WHERE account='1a'

都是相同的结果,并未查询上的不妥
clipboard.png

clipboard.png

mysqli php mysql

dollira 9 years, 8 months ago

有一种情况: mysqli_query 查询account='1a'时,查询是失败的,此时 mysqli_query 返回一个布尔值 false ,而 mysqli_fetch_object 的第一个参数是一个 mysqli_result 对象

你可以执行查询后, var_dump($result) 看看查询结果

梦14535 answered 9 years, 8 months ago

发现哪里错了,查询语句错了,这句,


 $query='SELECT password FROM user WHERE account='.$account;

当含有字母时要注意是字符的写法


 $query='SELECT password FROM user WHERE account='.'"'.$account.'"';

其实我是神奈子 answered 9 years, 8 months ago

Your Answer