Sebutan @CertaiN, dengan asli mempersiapkan, yang tidak ditiru, Anda tidak dapat mengikat variabel yang sama beberapa kali dengan nama yang sama. Anda dapat memilih untuk mengikatnya dengan nama lain, tetapi kueri ini tidak memerlukannya. VALUES()
fungsi mengembalikan nilai yang akan dimasukkan
, yang akan membuat kueri ini:
$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)';
Dan dapat digunakan untuk lebih banyak kolom jika diperlukan, seperti:
$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)';