簡體   English   中英

Zend Framework DB刪除方法去除值

[英]Zend Framework DB delete method strips values

我試圖根據條件從數據庫中刪除記錄。 該查詢非常簡單,但是我仍然得到奇怪的結果。 我想在ZF中做什么:

$where = array(
               $db->quoteInto('name = ?', $name),
               $db->quoteInto('surname = ?', $surname)
         );

$db->delete('users', $where);

在嘗試調試即時消息時:

DELETE FROM `users` WHERE (name = 'John') AND (surname = 'Johnson')

什么是正確且有效的SQL語句。 但是后來我的值被剝奪了,所以我得到這樣的查詢:

DELETE FROM `users` WHERE (name = ) AND (surname = )

根據調試結果,這會在Zend_Db_Statement類(Statement.php) _stripQuoted方法中發生。

因此,最終結果是刪除了一條表,而不是刪除一條記錄。

我已將文檔改寫成紅色,也對Google改寫了一些與我的情況非常接近的示例。 所以我不明白這是怎么回事?

Zend Framework版本:1.12

有任何想法嗎?

delete的第二個參數應為字符串。 所以我想你想要:

$where = $db->quoteInto('name = ?', $name).' AND '.$db->quoteInto('surname = ?', $surname);    
$db->delete('users', $where);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM