繁体   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