php mysql返回错误_[已解决]php查询mysql返回了错误的结果

大约是不支持中文字符的原因:将mysql的所有属性都改成英文字符之后,使用mysql好了.

但是! 用mysqli写 还是会返回空(又测了下,密码框不输入或输入0都会得到登录成功的提示)

都明白了 result的返回结果本来就不对.再用mysqli_fetch_array取出要用的元素就好了.

php部分代码如下:没有输出连接不到数据库的信息(应该是连接成功了) 没有报错 apache2和mysql的log错误日志也没有信息.但是:查询到的result返回值一直是NULL.(当然输其他密码会显示密码错误重新登录的)

然而我在mysql给它们设置的密码早已修改为与帐号值相等.为什么会返回错误的信息呢?是不是查询写错了??

@ $db=new mysqli ('localhost','webdba','123456','educational_administration');

if(mysqli_connect_errno())

{

echo"error".mysqli_connect_errno().":无法连接到数据库";

exit();

}

//echo "success";

if($user_type=='teacher')

{

$query="select 密码 from teacher where 教师编号=$user_id";

if(!$query){echo'此用户不存在.点击重新登录';}

$result=$db->query($query);

//echo $result.'';

if($result!=$passwd)

{

echo '密码错误';

$db->close();

echo '点击重新登录 ';

}

else

{echo $user_id.'已成功登录';}

}

回复内容:

大约是不支持中文字符的原因:将mysql的所有属性都改成英文字符之后,使用mysql好了.

但是! 用mysqli写 还是会返回空(又测了下,密码框不输入或输入0都会得到登录成功的提示)

都明白了 result的返回结果本来就不对.再用mysqli_fetch_array取出要用的元素就好了.

php部分代码如下:没有输出连接不到数据库的信息(应该是连接成功了) 没有报错 apache2和mysql的log错误日志也没有信息.但是:查询到的result返回值一直是NULL.(当然输其他密码会显示密码错误重新登录的)

然而我在mysql给它们设置的密码早已修改为与帐号值相等.为什么会返回错误的信息呢?是不是查询写错了??

@ $db=new mysqli ('localhost','webdba','123456','educational_administration');

if(mysqli_connect_errno())

{

echo"error".mysqli_connect_errno().":无法连接到数据库";

exit();

}

//echo "success";

if($user_type=='teacher')

{

$query="select 密码 from teacher where 教师编号=$user_id";

if(!$query){echo'此用户不存在.点击重新登录';}

$result=$db->query($query);

//echo $result.'';

if($result!=$passwd)

{

echo '密码错误';

$db->close();

echo '点击重新登录 ';

}

else

{echo $user_id.'已成功登录';}

}

首先:

if(!$query){echo'此用户不存在.点击重新登录';}

这个永远为false, 后面的永远不会输出

其次:

$result=$db->query($query);

返回的应该是个数组,应该是$result0这种结构

不知道你的查询内的中文是故意这样写的还是本身就是这样,你可以把query语句打印出来,然后在mysql里面查询一次就知道了

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值