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
,那么这是一个错误,因为 table
是 reserved 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();
试图从我的数据库中删除一些行,但语句没有返回任何错误,如果我 运行 在 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
,那么这是一个错误,因为 table
是 reserved 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();