Mysql
 sql >> Database >  >> RDS >> Mysql

Come inviare dati a due tabelle con lo stesso ID utente della chiave primaria?

Prima di tutto , non dovresti più usare l'estensione mysql_*. Vai verso DOP o mysqli

La tua tecnica genera due diversi ID univoci. Il punto è averne solo uno , in modo che possa essere univoco, e collega le informazioni a quell'ID univoco.

La tabella users è quella con quell'id univoco, user_id , che è la tua colonna auto_increment. La tabella customer_info può anche avere un info_id colonna univoca, ma deve contenere un user_id colonna, che conterrà user_id dell'utente , collegando insieme le righe.

Sarebbe anche un ottimo momento per aggiungere una chiave esterna alle tue tabelle in modo che l'integrità dei dati non venga compromessa.

quindi dopo questa query:

$result = mysql_query(
    "INSERT INTO `users`(username, password, email) VALUES ('$value1', '$value2','$value3')"
);

ottenere l'ID inserto:

$id = mysql_insert_id();

quindi esegui l'altra query con esso:

$result = mysql_query(
    "INSERT INTO `customer_info`(user_id,firstname, lastname, b_add_num, b_add_road, b_add_town, b_add_pc, p_add_num, p_add_road, p_add_town, p_add_pc) VALUES ('$id','$value4','$value5','$value6','$value7','$value8','$value9','$value10','$value11','$value12','$value13')"
);