Fehler in DB abfrage
steffen
- php
0 Tobias Kloth0 steffen
0 mbr0 lulu
Hi Forumleser,
habe ein Problem und finde ihn echt nich. (Uhrzeit?!)
Er merkelt mir das an
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/boyzpicture.com/httpdocs/index.php
Code:
login_db();
mysql_query("INSERT INTO user SET Nick = "". $nick ."", Password = "". $pwd ."", Email = "". $email ."", ID_Abschluss = "1" ");
$result=mysql_query("SELECT ID FROM user WHERE Nick = "". $nick ."" ");
while($result=mysql_fetch_array($result)){
echo mysql_error();
mysql_query("INSERT INTO freischaltung SET Code = "".$code."", User_ID ="".$result[0]."" ");
}
Seht ihr den Fehler?
Danke für die späte Hilfe.
mfg steffen
Hallo steffen,
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/boyzpicture.com/httpdocs/index.php
Was sagt mysql_error() an dieser Stelle?
Grüße aus Nürnberg
Tobias
Hab es ganz einfach gelöst mit mysql_insert_id();
Danke für eure hilfe.
Zudem hab ich 3 * $result benutzt kann also gar nicht funktionieren...
Aber danke für eure Zeit :)
Hallo Steffen,
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/httpd/vhosts/boyzpicture.com/httpdocs/index.php
da er explizit meckert, dass das Argument von mysql_fetch_array() keine gültige MySQL result resource ist, solltest du dir mal die Variable $result anschauen.
$result=mysql_query("SELECT ID FROM user WHERE Nick = "". $nick ."" ");
while($result=mysql_fetch_array($result)){
echo mysql_error();
mysql_query("INSERT INTO freischaltung SET Code = "".$code."", User_ID ="".$result[0]."" ");
}
Nur so ein paar Ideen:
1. Existiert die Tabelle user?
2. Gibt es in dieser Tabelle die Spalte ID?
3. Was ist der Wert von $nick?
UPPS: sehe gerade: die Zuweisung $result=mysql_fetch_array($result) in einer while Schleife sieht nicht besonders gesund aus. Vergiß die drei Tipps erstmal und ändere die whileschleife zum Beispiel in
while($erg=mysql_fetch_array($result)){
echo mysql_error();
mysql_query("INSERT INTO freischaltung SET Code = "".$code."", User_ID ="".$erg[0]."" ");
}
Wenn es dann immer noch nicht funktioniert, könnten die drei Tipps doch noch hilfreich sein ...
liebe Grüße mbr
Moin Steffen,
login_db();
mysql_query("INSERT INTO user SET Nick = "". $nick ."", Password = "". $pwd ."", Email = "". $email ."", ID_Abschluss = "1" ");
$result=mysql_query("SELECT ID FROM user WHERE Nick = "". $nick ."" ");
while($result=mysql_fetch_array($result)){
echo mysql_error();
mysql_query("INSERT INTO freischaltung SET Code = "".$code."", User_ID ="".$result[0]."" ");
}Seht ihr den Fehler?
In Deinem Code fehlt eine Fehlerbehandlung.
Dein "echo mysql_error();" ist so ungünstig platziert, dass es bei einem Fehler nie erreicht wird.
Dein SQL-Statement enthält ein reserviertes Schlüsselwort - benutzte also Backticks oder einen anderen Spaltennamen.
Viele Grüße
lulu