php中affected_rows 返回-1 的坑

遇到一个问题,发现一个坑
下面是 php 中与 mysql 的交互

工具类
class sqlTools{
...
public function db_delete($sql){
        $conn = $this->connect();
        $conn->query($sql);
        return $conn->affected_rows?$conn->affected_rows :FALSE;
    }

...

}

实现类
class impl{
...

function delete($str){
    $sql = "delete from chaper where".$str;
    return $this->impl->db_delete($sql);
  }
...


}

应用
function del0($id){
    //来自function0页面,对章节chaper表的操作
    $str = "id=".$id;
    echo $str;
    if(factory::chaper()->delete($str)){
        echo "success";
    }else{
        echo "failed";
    };
}

执行 del0() 这个函数 返回结果为 success 但是刷新页面,数据库中还是存在本该删除的数据,
说明删除并没有success
然后顺藤摸瓜 ,试着打印 sqlTool类中函数 db_delete() 的 return 发现返回值是 -1 ,意味着之后的 success 是这个 -1 带来的。。。
在判断操作成功与否还得谨慎
返回-1是因为 where 后少 空格
$sql = “delete from chaper whereid=1”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值