Datenbank Ausleseproblem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
array
auslese
benutzer
code
date
datum
eintrag
ergebnis
fehler
fehlermeldung
fragestellung
ober
programmentwicklung
rang
register
stehen
tabelle
text
url
-
HI
Ich habe in einer Tabelle (register) Werte stehen:
id, nr, username, password, mail, anrede, date
int(10) auto_incre...,text,text,text,text,text,date
an die Seite register.php wird im Url der Wert nr übergeben:
$userid = $_GET["userid"]; $abfrage = "SELECT * FROM register WHERE nr = $userid "; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { $eintrag = "INSERT INTO benutzer (username, userpassword, useremail, register, rang) VALUES ('$row->username', ' $row->password', '$row->mail', 'datum', '1')"; $eintragen = mysql_query($eintrag); } ?>
der Wert nr ist folgendermaßen zusammengesetzt : id_zufallszahl
Die Datei register.php soll nun mithilfe dieser Nummer alle Daten aus der registerTabelle auslesen und in die Tabelle benutzer schreiben
Tabelle benutzer:
Feld Typ Kollation Attribute Null Standard Extra Aktion id int(10) UNSIGNED Nein Kein auto_increment username text utf8_general_ci Nein Kein userpassword text utf8_general_ci Nein Kein useremail text utf8_general_ci Nein Kein register date Nein Kein rang int(10) UNSIGNED Nein 1
Aber leider klappt dass nicht so wie Ich mir das vorgestellt habe, denn das Ganze scheitert an dieser Fehlermeldung:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\FireChat\register.php on line 10
Ich hab echt keine Ahnung was da falsch ist, denn eigentlich müsste es doch klappen...
Hoffe Ihr könnt mir da weiterhelfen!!!
MVG
Beitrag zuletzt geändert: 13.2.2010 12:39:01 von programtools -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Der eine Fehler ist, das in deiner abfrage useremail steht und hinterher benutzt du die variable $row->mail
ändere und teste das
Insgesamt 2 Fehler ein tipp und ein variablen fehler ;)
Moment jetz muss ich schon zum 3ten ma editieren
also du sagst die daten kommen aus der url?
dann darf da nicht $row->xyz stehen sondern
$_GET['deine variable aus der url']
Beitrag zuletzt geändert: 13.2.2010 16:56:56 von industry-giant -
industry-giant schrieb:
Der eine Fehler ist, das in deiner abfrage useremail steht und hinterher benutzt du die variable $row->mail
ändere und teste das
Nö, das stimmt. Er benutzt 2 Tabellen mit unterschiedlichen Benennungen und die stimmen auch in der Abfrage.
industry-giant schrieb:
also du sagst die daten kommen aus der url?
dann darf da nicht $row->xyz stehen sondern
$_GET['deine variable aus der url']
Auch das stimmt so wie es ist. Nur die userid kommt per Get und die wird ganz oben auch richtig abgefragt. Das einzige was da falsch sein könnte, ist, dass es $userid=$_GET["nr"] heißen müsste, aber so richtig kann ich das der Fragestellung nicht entnehmen.
Die Fehlermeldung gibt ja an, dass mit deinem ersten query etwas nicht stimmt, aber was kann ich spontan nicht rauskriegen. Du könntest nur mal testen, welchen Wert $userid enthält. Bei mir hats da schon manchmal Fehler gegeben, wenn ein Arrayfeld gleich benannt war, wie eine Variable (und das ist bei dir mit dem Get-Array so), aber ich glaub nicht, dass das der eigentliche Fehler ist. Wie gesagt, den echten finde ich jedoch nicht. Versuchen kannst du auch, das ganze nicht als object zu fetchen sondern als array. Vlt liegts nämlich an der fehlenden Objektunterstützung des mysql_ -Befehls (alternativ einfach mysqli_ benutzen).
Beitrag zuletzt geändert: 13.2.2010 17:19:40 von alphara -
Also vielen Dank schonmal aber
so erfahren bin ich leider nicht um das so umsetzten zu können - auf gut Deutsch ich blick voll nicht was ich machen soll. Sry aber ein Beispiel wäre sehr Hilfreich. Ich hab schon alles versucht mit dem Get ist alles ok. Hoffe irgendwer findet den Fehler! An Alle die mier helfen vielen vielen Dank und ich hoffmal, dasses mich zur Lösung bringt! MVG -
Das ist ganz einfach:
statt mysql_fetch_object() benutzt du mysql_fetch_assoc()
und in der Abfrage unten musst du dann $row->wert durch $row["wert"] ersetzen
teste das einfach mal und schau, ober der fehler bleibt. -
Zur schnellen Fehlersuche empfiehlt es sich zumindestens während der Programmentwicklung immer, eine Query-Abfrage z.B. wie folgt zu programmieren:
$ergebnis = mysql_query($abfrage)
or die("MySQL-Fehler<br />$abfrage<br />".mysql_error());
MfG
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage