0

削除操作のCRUDにバグがあるかどうか、誰か知っていますか。DBアダプター:

$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'");

各バリアントはエラーなしで動作しますが、実行する必要があることは実行しません。そのような状況で私は何ができますか?

4

2 に答える 2

1

を使用してZend_Db_Adapter、次を試してください。

$this->_db->delete('premium_items', array("id = ?" => $id));

または、この特定のケースでは、次のことができます。

$this->_db->delete('premium_items', 'id = ' . (int)$id);

(ただし、整数を使用していてキャストする場合にのみこれを実行してください!)

于 2012-04-11T10:05:02.463 に答える
1

モデル (Zend_Db_Table_Abstract) では:

$row = $this->find($id)->current();
$row->delete();

または

$db = $this->getAdapter();
$db->delete($table, $db->quoteInto("id = ?", $id));
于 2012-04-11T10:07:49.390 に答える