PHP Mysql 未删除行

PHP Mysql not Deleting rows

试图从我的数据库中删除一些行,但语句没有返回任何错误,如果我 运行 在 phpmyadmin 中查询,它实际上删除了记录。执行 SELECT 语句也没有问题。

$oId 参数有一个 int 值

$stmt =  $this->db->prepare('DELETE FROM tbl_bdays WHERE uniqueId = ?');
$stmt->bind_param("i", $oId);
$stmt->execute();
$stmt->close();

如果你的 table 名字字面意思是 table,那么这是一个错误,因为 tablereserved word

如果您真的不能更改名称,那么您需要用反引号将其括起来:

DELETE FROM `table` WHERE uniqueId = ?

您没有错误检查,您应该检查每一步是否有错误。试试这个:

$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();