遇到一个问题,发现一个坑
下面是 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”