High!
Ich bin immer noch mit der Programmierung einer komfortablen Eingabemaske für eine Musikdatenbank (demnächst unter www.bergisch-afghanistan.de) beschäftigt... gegenwärtig geht es um die Tabelle "person_kuenstlername", die neben ihrer eigenen laufenden Eintragsnummer als Primärschlüssel die laufenden Eintragsnummern der Tabellen "personen" und "kuenstlernamen" enthält.
Wenn ich jetzt nach Prüfung der übergebenen Formulardaten (zwei Auswahlmenüs mit den Klartextformen der jeweiligen bürgerlichen Namen und Künstlernamen) per SELECT-Abfrage die zu den Namen passenden Eintragsnummern (IDs) ermitteln lasse, erscheint folgende Warnmeldung:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\rockodata\person_kuenstlername.php on line 105
Trotzdem werden die beiden Eintragsnummern korrekt in "person_kuenstlername" eingetragen, wie ich mich mittels PHPMyAdmin überzeugen konnte.
Der fragliche PHP-Code sieht so aus:
$query = "SELECT personen.ID, kuenstlernamen.ID from personen, kuenstlernamen WHERE personen.Vorname = '".mysql_real_escape_string($PersonVorname)."' AND personen.Nachname = '".mysql_real_escape_string($PersonNachname)."' AND Kuenstlername_Vorname = '".mysql_real_escape_string($KuenstlernameVorname)."' AND Kuenstlername_Nachname = '".mysql_real_escape_string($KuenstlernameNachname)."'";
$result=mysql_query($query);
var_dump($result);
echo "<br>";
dberror();
Der var_dump von $result ergibt folgende Meldung:
resource(8) of type (mysql result)
...scheint also wohl doch einwandfrei zu sein.
Wenn ich die SELECT-Abfrage mit konkreten Werten in PHPMyAdmin ausprobiere:
SELECT personen.ID, kuenstlernamen.ID from personen, kuenstlernamen WHERE personen.Vorname = 'Lawrence Roger' AND personen.Nachname = 'Fast' AND Kuenstlername_Vorname = 'Larry' AND Kuenstlername_Nachname = 'Fast';
erscheint keine Warnung, die IDs werden korrekt übergeben (und anschließend in die Tabelle eingetragen).
Gibt es eine Möglichkeit (außer @ vor mysql_fetch_row()), diese Warnung zu vermeiden - oder kann ich sie getrost ignorieren?
Bis bald im Khyberspace!
Yadgar