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

阅读 4.8k
2 个回答

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

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

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题