有人知道,如果删除操作中的CRUD存在错误。 数据库适配器:
$this->_db = Zend_Registry::get("db");
我喜欢这个:
$sql = "DELETE FROM premium_items WHERE id = '$id'";
$stmt = new Zend_Db_Statement_Pdo($this->_db, $sql);
return $stmt->execute();
和
$sql = "DELETE FROM premium_items WHERE id = ?";
$stmt = new Zend_Db_Statement_Pdo($this->_db, $sql);
return $stmt->execute(array($id));
和
$this->_db->delete('premium_items', "id = '$id'");
每个变体都可以正常运行但不会执行任何操作。 在这种情况下我该怎么办?
答案 0 :(得分:1)
使用Zend_Db_Adapter
,请尝试:
$this->_db->delete('premium_items', array("id = ?" => $id));
或者,在这种特殊情况下,你可以这样做:
$this->_db->delete('premium_items', 'id = ' . (int)$id);
(但是如果你使用整数并且你施放它,那么只做这个!)
答案 1 :(得分:1)
在你的模型中(Zend_Db_Table_Abstract):
$row = $this->find($id)->current();
$row->delete();
或者
$db = $this->getAdapter();
$db->delete($table, $db->quoteInto("id = ?", $id));