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