尝试从我的数据库中删除一些行,但是没有从语句返回错误,如果我在phpmyadmin中运行查询,它实际上会删除记录。执行SELECT语句也没有问题。
$ oId param有一个int值
$stmt = $this->db->prepare('DELETE FROM tbl_bdays WHERE uniqueId = ?');
$stmt->bind_param("i", $oId);
$stmt->execute();
$stmt->close();
答案 0 :(得分:5)
如果您的表名字面上是字面table
,则表示错误,因为table
是reserved word
如果你真的无法更改名称,那么你需要用反引号来包装它:
DELETE FROM `table` WHERE uniqueId = ?
答案 1 :(得分:0)
您没有错误检查,您应该检查错误方式的每一步。试试这个:
$stmt = $this->db->prepare('DELETE FROM tbl_bdays WHERE uniqueId = ?');
if ( ! $stmt) die('Error whilst preparing: '.$this->db->error);
if ( ! $stmt->bind_param("i", $oId)) die('Error whilst binding: '.$this->db->error);
if ( ! $stmt->execute()) die('Error whilst executing: '.$this->db->error);
$stmt->close();