Ik vraag me af hoe ik het volgende kan doen.

Wanneer iemand registreert, doet hij de volgende query

INSERT INTO users (`username`, `role`, `password`, `state`, `ip`, `email`, `credit`, `time_registered`, `is_online`, `verify_code` )



Nu wil ik ook nadat die de user heeft aangemaakt, ook nog een 2e insert doen maar dan in tabel profile. Enkel om dat gekoppeld te krijgen moet hij dus de id meenemen nadat de eerste insert is geweest zodat de user en profile een koppeling krijgen.

Hoe kan ik dit het beste doen?
Je kunt met de mysqli_insert_id functie het id terugvragen na een INSERT query. (Ik ga er even vanuit dat je met mysqli functies werkt)

<?php
$user_id = mysqli_insert_id($con);
?>
En dan kan ik gewoon weer een insert doen?
Ja iets als:

<?php
$query = "INSERT INTO profiles (user_id, columnX, columnY) VALUES (".$user_id.", ".$x.", ".$y.");";
$result = $mysqli_query($con, $query);
?>
Ik heb nu dit


<?php
$sql= "INSERT INTO users (`username`, `role`, `password`, `state`, `ip`, `email`, `credit`, `time_registered`, `is_online`, `verify_code` )
				VALUES ('".$db->escape_string($username)."', 'user', '".$db->escape_string(md5($pwd1))."',
				'pending', '$ip', '".$db->escape_string($email)."', '".$meta['init_credit']."',NOW(), '2', '".$db->escape_string($v_code)."')";
				$user_id = mysqli_insert_id($db);
				$sql = "INSERT INTO user_profiles (user_id, profile_name) VALUES (".$user_id.", ".$db->escape_string($username).")";
?>


Hij doet nu enkel de onderste invoer
Oh.. nee eerst mysqli_query dan mysql_insert_id en dan de volgende mysqli_query

<?php
$sql= "INSERT INTO users (`username`, `role`, `password`, `state`, `ip`, `email`, `credit`, `time_registered`, `is_online`, `verify_code` )
VALUES ('".$db->escape_string($username)."', 'user', '".$db->escape_string(md5($pwd1))."',
'pending', '$ip', '".$db->escape_string($email)."', '".$meta['init_credit']."',NOW(), '2', '".$db->escape_string($v_code)."')";
$result = $db->query($sql);
// nog foutafhandeling in te bouwen

// haal het user id op van de zojuist toegevoegde user
$user_id = $db->insert_id;

// ga nu het profiel toevoegen
$sql = "INSERT INTO user_profiles (user_id, profile_name) VALUES (".$user_id.", ".$db->escape_string($username).")";
$result = $db->query($sql);
// nog foutafhandeling in te bouwen
?>

Reageren