私はZendで働き、特にZend_Dbでかなり働きました。
いいえ、ON DUPLICATE KEY UPDATE
のAPIサポートはありません 構文。この場合、単にquery()
を使用する必要があります 完全なSQLステートメントを自分で作成します。
harvejsが示すように、SQLに値を補間することはお勧めしません。クエリパラメータを使用します。
編集:VALUES()
を使用すると、パラメーターの繰り返しを回避できます 式。
$sql = "INSERT INTO sometable (id, col2, col3) VALUES (:id, :col2, :col3)
ON DUPLICATE KEY UPDATE col2 = VALUES(col2), col3 = VALUES(col3)";
$values = array("id"=>1, "col2"=>327, "col3"=>"active");