foutmelding bij id ophalen uit database
Wat doe ik fout? Ik krijg de volgende melding:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\vakantieanders\workshops\gebruikers\gebruiker_bevestigen.php on line 107
Regel 107 is de regel van 'while'
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$mysql = mysql_query ("SELECT id FROM user2 WHERE username = '".$user."'");
while ($regel = mysql_fetch_array($mysql)){
$userid = $regel["id"];
}
?>
$mysql = mysql_query ("SELECT id FROM user2 WHERE username = '".$user."'");
while ($regel = mysql_fetch_array($mysql)){
$userid = $regel["id"];
}
?>
Echo de query eens. Zit waarschijnlijk een foutje in. Ik denk dat $user leeg is.
Heb ik gedaan. $user geeft een waarde
Gebruik eens $var = mysql_query(...) or die(...)
De foutmelding betekend dat er geen records zijn gevonden die aan je where voldoen, controleer dus even de gebruikersnaam die je probeert te zoeken.
ik gebruik dezelfde $user bij een insert in hetzelfde bestand. Daar zet hij hem dan in het database en even later zoek ik hem op voor zijn id..
En wordt de data wel goed weggestopt in je tabel?
De foutmelding betekend dat de query geen resultaten heeft opgeleverd, het kan zijn dat je een naam verkeerd hebt staan, waardoor er geen zoekresultaten zijn.
Probeer inderdaad ook even de mysql_error() zoals SanThe al aangaf.
Kan het misschien zijn dat het 'te' snel gaat? Want de regel daarvoor maak ik het in de tabel user2 de gebruiker aan, direct daarna vraag ik de id aan van de zojuist aangemaakte gebruiker..
MAW, is de update query wel goed?
SELECT id FROM user2 WHERE username = '".$user."'");
Het onderstaande is zeker weten goed:
- id
-user2
-username
-$user
Daarom vind ik het ook zo raar want er blijft niet veel meer over zo..
linkt je connectie naar je goede database in dat geval (dus niet je tabel, maar je database). Zou kunnen :)
Maar het kan niet zo zijn dat het te snel gaat omdat beide query's precies na elkaar komen?
Ik ga nog even verder zoeken.
Doe je dit alleen om erachter te komen welke id de laatst ingevoegde was?
Zo ja, Waarom doe je dat op deze manier, er zijn gemakkelijkere methoden voor..
SanThe:
Gebruik eens $var = mysql_query(...) or die(...)
Doe dit even. Een goede error afhandeling is van levens belang
Sja haha, omdat ik niet beter weet.. Ik ben nog een beginner..
Robert, kun je me vertellen wat deze andere methoden zijn?
$laatste_id=mysql_insert_id();
wat het probleem bij mij is, dat hij 2x moet worden toegevoegd. Maar na de eerste krijgt de nieuwe tabel een andere id..
Hij hoeft toch niet in een while vanwege het feit dat je er maar 1tje ophaalt? probeer het is zonder die while-loop?
Alles werkt, maar hij vult userid nog niet :(
als ik dit heb:
$userid=mysql_insert_id();
Kan ik die userid dan gewoon opvragen via $userid?
Gr.
Jeroen