Frage von theplayer95, 42

MySQL Fehler: Resource id#12?

Hallo ich hoffe mir kann hier jemand helfen weil ich ziemlich auf dem Schlauch stehe. Ich bin gerade dabei ein Forum für meine Homepage zu Programmieren. Nun möchte ich, dass der Benutzername für jeden Post angezeigt wird. Ich habe mir überlegt wenn ich etwas Poste das er den Namen aus meiner SQL Tabelle: ".DB._user", wo ich schon Benutzer gespeichert habe, in die Tabelle:".DB._forum" zu den jeweiligen post unter den Punkt Benutzername zu speichern so das jeder Benutzer zu seinem Post zugewiesen werden kann. Mein Problem ist jetzt aber das ich irgendwo ein Fehler mache da in meiner SQL Tabelle und in der Ausgabe steht "Resource id#12" anstatt der Name der eingetragen werden soll. Ich habe ein Bild von der Syntax mit eingefügt. Vielen Dank für eure Hilfe!

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von happyfish2, 17

Du bekommst mit mysql_query eine Ressource zurück (Zeile 945), keinen Wert aus der DB. Diese Ressource kann natürlich nicht als String weiterverwendet werden.

Antwort
von osworx, 8

4 Sachen die ich sehe im Quellcode:

1. veraltet MySQL ansatt MySQLi

2. ungenügende Felderprüfung vor dem Datenbankeinfügen (function thema_add)

3. Syntax tw. unmöglich, halte dich an Standards wie z.B. dass DB-Befehle GROSS geschrieben werden

4. function themalist: 2 Abfragen welche mit einer erledigt werden kann (Forums- & Benutzerabfrage) indem auf den Benutzer in der Forumstabelle referenziert wird (per JOIN)

Was jetzt den Fehler betrifft kann ich dir aufgrund der bisherigen Infos leider nicht weiter helfen. Generell aber würde ich mal die eigenen Programmierkenntnisse überdenken (siehe o.a. Punkte)!

Antwort
von pbart, 21

Hau den Quelltext(Syntax ist was anderes) mal bei pastebin o.Ä. hoch. Ich kann mit dem Handy auf dem Screenshot nichts erkennen. Ansonsten geht man in solchen Situationen überlicherweise so vor, dass man in der Tabelle die Posts enthält einen Fremdschlüssel zur Usertabelle einbaut. Sprich du hast ein Attribut in der "Forum-Tabelle" das den Primärschlüssel aus der Usertabelle enthält. Beim auslesen der Daten kannst du dann die beiden Tabellen einfach verbinden.

z.B. SELECT * FROM user u,posts p WHERE p.uid = u.id;

Antwort
von LugicoHDPlayer, 17

Ich weiß nicht ob es daran liegt aber in dem mysql_query befehl fehlt

1: der link zur datenbank (ich arbeite mit mysqli_query das ist einfacher und da muss man das machen)

Verbesserung:

$db = mysqli_connect("Host","Benutzername","Passwort","Datenbank");

mysqli_query($db,"Code");

2: im sql code bei der variable (select username from) DB fehlt das $ zeichen

Verbesserung: Selbsterklärend

Ich hoffe ich hab' geholfen

Antwort
von Minilexikon, 19

Nutze lieber mysqli anstatt msyl, denn das ist veraltet.

Zum anderen sieht man nicht deinen ganzen Code.

Wie ist sieht deine Datenbanktabelle aus?

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten