[英]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.