ZF-2863: Zend_Db_Table - Improvement for "where" parameter in update() method
Description
Hi,
When inserting or fetching in a DB, the where condition must be of the following syntax (when using an array):
$where = array( 'id_photo = ?' => $pic, 'member_id = ?' => $memberId );
But when updating, the above where condition will generate a wrong Sql, and need to apply another syntax , like this one:
$where = array( $db->quoteInto('id_photo = ?', $pic), $db->quoteInto('member_id = ?', $memberId) );
This is pretty quite confusing and incoherent Also, when the first syntax is used in the update method, the whole records can change.
Comments
Posted by Wil Sinclair (wil) on 2008-03-25T20:23:59.000+0000
Please categorize/fix as needed.
Posted by Mathieu Decaffmeyer (mathi) on 2008-09-08T07:17:53.000+0000
If I'm not wrong, the same happens with the parameter of delete function
Posted by Wil Sinclair (wil) on 2009-01-13T10:38:33.000+0000
Reassigning to Ralph to bring closure to this issue.
Posted by Ryan Mauger (bittarman) on 2009-10-19T00:47:14.000+0000
Is there any update on this issue?
What is the "wrong" SQL syntax which is produced?
Posted by Ryan Mauger (bittarman) on 2009-11-17T11:33:54.000+0000
Closing, as no further update supplied. Correct method for parameter binding for both update and delete methods has been added to the docs since this issue was opened. see ZF-7626 for more details