Puoi direttamente UPDATE
se il valore è già esistente o INSERT
se non esiste utilizzando INSERT...ON DUPLICATE KEY UPDATE
Ma prima devi specificare una colonna univoca,
ALTER TABLE user_account ADD CONSTRAINT tb_uq UNIQUE (id_user)
se colonna ID_USER
è già una chiave primaria, quindi salta il primo metodo. Dopo che è stato implementato, ora puoi utilizzare la seguente sintassi
INSERT INTO user_account (id_user, bio)
VALUES($id, '$bio')
ON DUPLICATE KEY UPDATE bio = '$bio';
Come nota a margine, la query è vulnerabile con SQL Injection
se il valore(s ) delle variabili proveniva dall'esterno. Si prega di dare un'occhiata all'articolo qui sotto per sapere come prevenirlo. Usando PreparedStatements
puoi sbarazzarti dell'uso di virgolette singole attorno ai valori.