Un @CertaiN cita, con reale prepara, quelli non emulati, non è possibile associare la stessa variabile più volte con lo stesso nome. Potresti optare per legarlo con un altro nome, ma questa query non ne ha bisogno. Il VALUES()
la funzione restituisce il valore che sarebbe stato inserito
, che renderebbe questa query:
$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)';
E può essere utilizzato per più colonne, se necessario, in questo modo:
$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)';