条件に応じてデータベースからレコードを削除しようとしています。クエリは非常に単純ですが、それでも奇妙な結果が得られます。私がZFでやろうとしていること:
$where = array(
$db->quoteInto('name = ?', $name),
$db->quoteInto('surname = ?', $surname)
);
$db->delete('users', $where);
Imのデバッグを試みている間:
DELETE FROM `users` WHERE (name = 'John') AND (surname = 'Johnson')
正しく機能しているSQLステートメントは何ですか。しかし、後で私の値が削除されているので、私は次のようなクエリを取得しています:
DELETE FROM `users` WHERE (name = ) AND (surname = )
デバッグ結果に応じて、これはZend_Db_Statement
クラス(Statement.php)、_stripQuoted
メソッドで発生します。
その結果、1つのレコードが削除される代わりに、最終的にテーブル全体がクリアされます。
私はドキュメンテーションを赤くし、また私の状況にかなり近い例のためにグーグルで検索しました。だから私はそれで何が悪いのかわからないのですか?
Zend Frameworkバージョン:1.12
何か案は?