php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.08.2004, 21:31  
Gast
 
Beiträge: n/a
Standard Anfänger brauch Hilfe bei zweiter Tabelle

Und wieder hab ich nen kleines Problem mit MySQL

Greife ich auf die erste Tabelle der Datenbank zu

PHP-Code:
 $erg=mysql_query("SELECT Nick FROM user WHERE sid='$sid'");
$row mysql_fetch_object($erg); 
geht das problemlos. Greife ich aber auf die zweite Tabelle zu

PHP-Code:
 $erg=mysql_query("SELECT * FROM messages WHERE to='$nick'");
$row mysql_fetch_object($erg); 
Sagt er

Zitat:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in W:\spiel\game.php on line 55
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 19.08.2004, 22:12  
Gast
 
Beiträge: n/a
Standard

Ich glaub ich weiss woran es liegt, komme aber dennoch nicht weiter. Kann es sein das man die Tabellen erst verbinden muss ? Wieso kann man ein Feld des Typs "text" nicht als Primärschlüssel deklarieren ? Wie verbindet man in PHP oder MySQL-ControlCenter zwei tabellen mit einander ?
  Mit Zitat antworten
Alt 20.08.2004, 13:41  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MCQ
(1)Ich glaub ich weiss woran es liegt, komme aber dennoch nicht weiter. (2)Kann es sein das man die Tabellen erst verbinden muss ? (3)Wieso kann man ein Feld des Typs "text" nicht als Primärschlüssel deklarieren ? (4)Wie verbindet man in PHP oder MySQL-ControlCenter zwei tabellen mit einander ?
Das sind mal ne Menge Fragen, aber ich versuchs mal:
(1) Hänge immer an ein mysql_query() noch eine Abfrage auf mysql_error() rein, z.B
PHP-Code:
$res mysql_query($sql) or die(mysql_error()); 
, dann erhälst du eine aussagekräftige Fehlermeldung. Die Meldung, die du in deinem zweiten Beispiel erhälst, sagt nur, dass mysql_query() nicht funktioniert hat. D.h. deine Abfrage hat einen Fehler. "SELECT *" sollte man nach Möglichkeit vermeiden und die nötigen Attribute auflisten.
(2) Nein, das "Verbinden" von Tabellen oder nicht hat nichts mit diesem Fehler zu tun.
(3)Ein Attribut vom Typ text ist 65536 Bytes gross. Es macht natürlich keinen Sinn, einen PRIMARY KEY von dieser Grösse zu definieren. Du kannst aber einen Teil des Attributs als PK definieren, indem du der Definition eine Länge mitgibst:
PHP-Code:
mysql_query("CREATE TABLE blabla(
    blatext text not null,
    blanum int
    bladate date,
    PRIMARY KEY(blatext(20))"
)  OR die(mysql_error()); 
Ob das viel Sinn macht, ist eine andere Frage.
(4)Das "Verbinden" mehrere Tabellen findet weder in MySQLCC noch in PHP statt, sondern mit SQL-Befehlen. Ein einfaches Beispiel:
PHP-Code:
$sql "SELECT f.name, f.laenge, t.bezeichnung als typ
FROM film f
JOIN filmtyp t ON f.typ = t.id"

Liste die in einer Tabelle enthaltenen Filme zusammen mit dem in einer anderen Tabelle enthaltenen Typ aus. Das Attribut "typ" in der Tabelle "film" wird dabei als Fremdschlüssel (FOREIGN KEY) auf "filmtyp" bezeichnet. Mehr dazu: http://dev.mysql.com/doc/mysql/de/JOIN.html
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 24.08.2004, 16:44  
Gast
 
Beiträge: n/a
Standard

Erstmal DANKE für deine Mühe. Besonders der erste Tipp war sehr nützlich. Nachdem ich aber die Abfrage etwas umformuliert hab so das sie schließlich so aussah:

PHP-Code:
$erg=mysql_query("SELECT * FROM `messages` WHERE `to` = '$nick'"); 
hat es geklappt.
  Mit Zitat antworten
Alt 25.08.2004, 10:26  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Zitat:
Zitat von MCQ
Erstmal DANKE für deine Mühe. Besonders der erste Tipp war sehr nützlich. Nachdem ich aber die Abfrage etwas umformuliert hab so das sie schließlich so aussah:

PHP-Code:
$erg=mysql_query("SELECT * FROM `messages` WHERE `to` = '$nick'"); 
hat es geklappt.
Tja, woran mag das wohl liegen,
Ich würde mal sagen, daran
http://dev.mysql.com/doc/mysql/en/Reserved_words.html
DiBo33 ist offline   Mit Zitat antworten
Alt 25.08.2004, 10:50  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von DiBo33
Tja, woran mag das wohl liegen,
Ich würde mal sagen, daran
http://dev.mysql.com/doc/mysql/en/Reserved_words.html
Oh, das hab ich auch übersehen. In diesem Fall ist es natürlich besser, die Spalte ("to") umzubenennen, weder alles in Backticks zu pappen.
Und "SELECT * " würd ich nicht brauchen.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Anzeige einer Tabelle mit dem Firefox? HTML, Usability und Barrierefreiheit 8 28.11.2005 15:08
brauch bitte hilfe will eine neue PHP-community PHP Tipps 2005-2 9 10.09.2005 20:17
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
spielplan, und Tabelle erstellen alias_zappler PHP Tipps 2005-2 3 01.08.2005 00:25
Ich brauch hilfe beim Forum PHP Tipps 2005-2 11 20.07.2005 03:22
Brauch hilfe mit Login-script PHP Tipps 2005-2 14 07.07.2005 19:14
Brauch Hilfe! Aber Hallooooooooooo PHP Tipps 2005-2 5 09.06.2005 15:50
[Erledigt] brauch hilfe beim fensteröffnen HTML, Usability und Barrierefreiheit 3 12.05.2005 17:44
probleme mit echo ".$variable." brauch hilfe... PHP Tipps 2005 15 15.03.2005 15:18
Hilfe! Breite einer Tabelle c001130 HTML, Usability und Barrierefreiheit 18 16.01.2005 23:16
[Erledigt] Brauch Hilfe. PHP Tipps 2004-2 6 21.12.2004 02:49
Brauch Hilfe zum Seitenaufruf in PHP PHP Tipps 2004-2 4 05.12.2004 14:40
Hilfe da hat wer ne Ecke meiner Tabelle abgehackt. :/ HTML, Usability und Barrierefreiheit 2 07.11.2004 20:18
[Erledigt] mysql-Abfrage in Tabelle ausgeben - dringend hilfe PHP Tipps 2004 2 03.11.2004 15:41
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php tabellen anfänger, deiner zweiten tabelle nicht, tabellen in php code hilfe, erste tabelle.php

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.