PHP/SQL - mysql_fetch
Mfrank
- php
0 Odium0 Thomas Meinike
Hallo zusammen,
ich habe mir mal die Mühe gemacht und meine eigene CD/Lieder-Datenbank aufgesetzt..
Jetzt möchte ich alle Lieder angezeigt bekommen, die mit einem bestimmten Buchstaben anfangen, bekomme aber immer folgende Fehlermeldung:
Supplied argument is not a valid MySQL result resource
Mein Lösungsversuch sieht so aus:
<?php
$db_serv = '...';
$db_name = '...';
$db_user = '...';
$db_pass = '...';
$db = mysql_connect($db_serv, $db_user, $db_pass) or die('FEHLER!');
mysql_select_db($db_name, $db) or die('Verbindung zur Datenbank fehlgeschlagen...');
$select = "SELECT CDNummer,Titel,Anfang FROM Lieder WHERE Anfang LIKE='".$anfvar."%' ORDER BY 'Titel'"; <----- $anfvar wird richtig übergeben, zB "A"
$query = mysql_query($select, $db);
echo "<table cellspacing="0" cellpadding="5" border="0" align="center">";
echo "<tr><td>Liedanfang : ".$anfvar."<br><br></td>";
echo "</tr><tr><td>Anfang</td><td>Titel</td><td>CDNummer</td></tr>";
while($select = mysql_fetch_row($query)) { <----- heisst doch, solange aus dem select eine neue row kommt !?
echo $select['Anfang']." : ".$select[Titel]." : ".$select['CDNummer'];
}
echo "</table>";
?>
.....
Wo liegt der Fehler ? Was habe ich nicht verstanden ? Wer kann mir helfen ? ...
Zur Info: Bin relativ "neu" im Bereich PHP/SQL und versuche mich noch einzuarbeiten...
Danke
Frank
Hallo,
dieser Fehler weist meist daraufhin, das due per sql etwas aus der Datenbank holen willst, was nicht vorhanden ist.
Die Verbindung zur DB an sich klappt aber?
Dann überprüf die vorhandenen Felder...
Odium
Hallo,
dieser Fehler weist meist daraufhin, das due per sql etwas aus der Datenbank holen willst, was nicht vorhanden ist.
Klar gibts da Einträge ;-)
Die Verbindung zur DB an sich klappt aber?
yapp
Dann überprüf die vorhandenen Felder...
Er meckert genau diese Zeile an:
while($select = mysql_fetch_row($query)) {
????
(kein Plan :( )
Frank
Hi,
while($select = mysql_fetch_row($query)) {
ja logisch meckert er da, wenn in $query keine gültige reslut-ressource drin steht
Zur Fehlerbehebung lass Dir den mysql_error() ausgeben, mit die() zB.
$query = mysql_query($bla) or die($mysql_error());
oder lass dir den selct-string mal ausgeben und setze ihn direkt an der db ab und schaue was passiert.
ciao
romy
Hi,
Zur Fehlerbehebung lass Dir den mysql_error() ausgeben
Call to undefined function
oder lass dir den selct-string mal ausgeben und setze ihn direkt an der db ab und schaue was passiert.
aaargh... das "=" hinterm LIKE war zuviel *g*
thnx @ll
Frank
Hallo,
$select = "SELECT CDNummer,Titel,Anfang FROM Lieder WHERE Anfang LIKE='".$anfvar."%' ORDER BY 'Titel'"; <----- $anfvar wird richtig übergeben, zB "A"
Was bezweckt das Gleichheitszeichen nach LIKE und warum steht Titel nach ORDER BY in '...'?
So sollte es funktionieren:
$select = "SELECT CDNummer,Titel,Anfang FROM Lieder WHERE Anfang LIKE '".$anfvar."%' ORDER BY Titel";
MfG, Thomas