6

当我有两个条件时,有人可以给我一个例子,说明如何使用 Zend 框架删除 mysql 中的一行?

即:(试图这样做)

"DELETE FROM messages WHERE message_id = 1 AND user_id = 2"

我的代码(惨遭失败的代码看起来像这样)

// is this our message?
$condition = array(
                   'message_id = ' => $messageId,
                   'profile_id = ' => $userId
);

$n = $db->delete('messages', $condition);
4

3 回答 3

29

最好使用这个:

$condition = array(
    'message_id = ?' => $messageId,
    'profile_id = ?' => $userId
);

占位符 (?) 被值替换,转义特殊字符,并在其周围应用引号。

于 2010-07-31T12:16:31.570 回答
8

而不是关联数组,您应该只传入一个标准表达式数组,ala:

$condition = array(
    'message_id = ' . $messageId,
    'profile_id = ' . $userId
);

(如果它们来自用户输入,请确保您适当地转义这些值)

于 2009-05-22T20:45:16.817 回答
-3

使用这个,它正在工作......

$data = array(
    'bannerimage'=>$bannerimage
);

$where = $table->getAdapter()->quoteInto('id = ?', 5);

$table->update($data, $where);
于 2011-12-16T05:48:26.260 回答