Heren.

Ik ben bezig met een login scriptje en nu wil ik alle gegevens in een verschillende tabel hebben.

in members moet het volgende komen -->

ID, profiel_ID, settings_id,username, naam, wachtwoord, activatiecode.

nu komt er nog tabel met profiel -->
ID, member_ID,naam etc etc.

settings -->
ID, member_ID //en dan hier wat settings.

Nu wil ik als een member zich zich registreerd en in de verschillende tabellen er nieuwe rijen worden gemaakt en dat het membertabel al geheel wordt ingevult en bij de tabellen profiel en settings het member_ID wordt ingevult. (De ID van tabel members, (die tevens automatisch wordt gegenereerd)).

Als ik dan zoek op google en phphulp(tuts) Kom ik alleen voorbeelden tegen van SELECT in meerdere tabellen. Ik kan absoluut niks vinden van een query die in meerdere tabellen INSERT.

Daarnaast dacht ik innoDB te gebruiken. omdat PostgreSQL niet op mijn server draait. (Teminsten je moest er dingen voor downloaden, en als ik op mijn phpmyadmin kijk ondersteunt hij dat niet.)

Is dit een goedde keuze? Pepijn
INSERT INTO profile ('id') VALUES ('%i')

Leg eens uit waarom je de kolomnaam id als een string (dus tussen quotes) in de query opneemt. Bij mijn weten is dat gewoon fout, ongeacht welke database je gebruikt. Het is namelijk geen SQL.

Offtopic: De kolom 'activationcode' heb je 30 tekens lang gemaakt, weet je zeker dat dit correct is? Vaak wordt er een MD5-hash aangemaakt voor dit soort zaken en die is 32 tekens lang.

De tabelen profile en settings zijn ook wat vreemd met een varchar voor het id.
Ok om hier even op terug te komen. Ik ben wat aan het oefenen geweest en het lukt mij aardig. Ik heb nu nog 1 vraagje. In een array het ik 3 query's. Hoe maak ik het nu zo in de for each dat hij bij de eerste query de mysql_insert_id(); ophaalt --> een in var zet, en niet meer veranderd door de 2 andere query's?
<?
$array = array('query 1', 'query 2', 'query 3');

foreach ($array AS $key => $query){
$result = mysql_query($query);
if($key == 0){ // eerste key uit de array
$id = mysql_insert_id();
}
}
?>
Niet getest, maar het mag duidelijk zijn dat je met het key-nummer een vergelijking kunt opstellen.

Reageren