@CertaiNが言及し、本物 エミュレートされていないものを準備します。同じ変数を同じ名前で複数回バインドすることはできません。別の名前でバインドすることもできますが、このクエリでは必要ありません。 VALUES()
関数は挿入されたはずの値を返します
、このクエリを作成します:
$sql = 'INSERT INTO users_meta
(user_id,meta_key,meta_value)
VALUES (:user_id,:meta_key,:meta_value)
ON DUPLICATE KEY
UPDATE meta_value = VALUES(meta_value)';
また、必要に応じて、次のように、より多くの列に使用できます。
$sql = 'INSERT INTO users_meta
(user_id,meta_key,meta_value)
VALUES (:user_id,:meta_key,:meta_value)
ON DUPLICATE KEY
UPDATE
meta_value = VALUES(meta_value),
meta_key = VALUES(meta_key)';