mysql奇怪的查数据函数mysql_query

sql 语句如果没有语法错误,那么在连接数据库执行之时,就算查询/删除的数据不存在!都会正常执行并返回true结果!

代码如下:

$conn=mysql_connect(‘localhost’,‘root’,‘aadsfs’);

if (!$conn){

     echo’连接失败’;

     exit;

}

$sql=’select * from stu where id=1111‘;//不存在此数据

$rs=mysql_query($sql,$conn);

if($rs){

    echo’存在数据’;//此句会执行!

}else{

    echo’失败了,不存在数据’;

}

以前用asp写程序时,没有接触过这样的问题!

因为都是用rs.eof or rs.bof来做select判断的!

 

原因:mysql_query返回的是资源类型,对于查询的结果,如果能在mysql正常执行的话,则返回true,其不会关心是否有对数据进行了操作!

所以,以上程序要改成如下,才能正确执行!

$conn=mysql_connect(‘localhost’,‘root’,‘aadsfs’);

if (!$conn){

     echo’连接失败’;

     exit;

}

$sql=’select * from stu where id=1111‘;//不存在此数据

$rs=mysql_query($sql,$conn);

if(!$rs){

    echo’失败了,不存在数据’;

}

$stu=mysql_fecth_assoc($rs)//此函数是从数据库里取出数据

if(!empty($stu)){

     echo’存在数据’;

}

顺便也写一下取mysql数据的几个函数

mysql_fecth_assoc():返回关联数组

mysql_fecth_row():返回索引数组

mysql_fecth_array():前两种的组合

mysql_fecth_object():返回对象类型

以上函数是按常用顺序依次排列,函数参数:为资源类型,每执行一次,游标下移一次,直到最后,返回false

转载于:https://www.cnblogs.com/k5054/archive/2012/11/30/2796891.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值