Supplied argument is not a valid MySQL result
Markus
- datenbank
0 Cheatah0 Markus0 Cheatah0 Markus0 Tom0 Markus0 Tom0 Klaus Mock
0 Sven Rautenberg
Tagchen,
$beispiel_sql="SELECT * FROM beispiel WHERE text LIKE '%$query%' ORDER BY id DESC";
$beispiel_result=mysql_query($beispiel_sql);
while($beispiel=mysql_fetch_array($beispiel_result)) {
do(something);
}
Hier kriege ich den Fehler
Warning: Supplied argument is not a valid MySQL result resource in [c:\foo] on line 25
Zeile 25 ist die while-Zeile. Wo liegt der Fehler? Und nein - do(something); ist es nicht.. ;)
MfG
Markus
Hi,
Zeile 25 ist die while-Zeile. Wo liegt der Fehler?
im SQL-Statement.
Cheatah
Hallo,
danke für die ... ausführliche ... Antwort.
a) SQL-Statement ist hier dei $beispiel_sql, richtig?
b) Nungut, try and error ist eine hübsche Methode, nur wäre ich für eine detaillierte Antwort dankbar.
Mfg
Markus
Hi,
danke für die ... ausführliche ... Antwort.
nun ja. Das selbe Problem hatten schon n Leute vor Dir, mit n >> 10. Niemand hat Lust Antworten zu geben, die er schon hinreichend oft gegeben hat.
a) SQL-Statement ist hier dei $beispiel_sql, richtig?
Ja.
b) Nungut, try and error ist eine hübsche Methode, nur wäre ich für eine detaillierte Antwort dankbar.
Der Fehler liegt im SQL-Statement. Lass es Dir ausgeben und untersuche es entsprechend.
Cheatah
Abend,
Der Fehler liegt im SQL-Statement. Lass es Dir ausgeben und untersuche es entsprechend.
*sigh* ..
$beispiel_sql="SELECT * FROM beispiel WHERE text LIKE '%$query%' ORDER BY id DESC";
Variable korrekt mit " " angefangen und beendet, in der Variable keine weiteren ", sondern '.
Von SELECT bis WHERE richtig, text korrekte Spalte.
LIKE richtig in ' gesetzt, Variable existiert.
ORDER BY stimmt
; vorhanden
Ich konnte keinen Fehler finden, tut mir leid.
MfG
Markus
Hello,
Cheatah ist auch etwas sehr kurz angebunden heute...
Der Fehler liegt im SQL-Statement. Lass es Dir ausgeben und untersuche es entsprechend.
*sigh* ..
$beispiel_sql="SELECT * FROM beispiel WHERE text LIKE '%$query%' ORDER BY id DESC";
$res = mysql_query($beispiel,$con);
if (!$res)
{
echo "\n<br />SQL: ".mysql_error()."<br />\n;"
}
Dann weißt Du mehr.
Mein Tipp:
$query = mysql_escape_string(stripslashes($query));
wobei stripshlashes davon abhängt, woher die Variable $query stammt und ob get_magic_quotes_gpc() == true ist.
Das soll als Anregung erst einmla wieder reichen
Liebe Grüße aus http://www.braunschweig.de
Tom
Uhm.. ich habe kein Wort verstanden..
Nunja, tut mir leid. Mit der Rate-mal-Methode komme ich nich weiter. Dann muss ich meine Suchfunktion wohl vorerst knicken und ein Forum suchen, dass mir die Antwort als ganze Beispiele und ohne indirekte "du hast nicht alle Seiten des Manuals gelesen, selbst schuld"-Beiträge gibt. =/
Schade eigentlich
Markus
Hello,
Uhm.. ich habe kein Wort verstanden..
Das ist nicht schlimm, dann kann man nochmal fragen.
Das Prinzip hier lautet: Eingabe -> Verarbeitung -> Ausgabe
WennDu kein Input lieferst, können wir nix verarbeiten und auch nix ausgeben, außer Fehlanzeigen.
Nunja, tut mir leid. Mit der Rate-mal-Methode komme ich nich weiter. Dann muss ich meine Suchfunktion wohl vorerst knicken und ein Forum suchen, dass mir die Antwort als ganze Beispiele und ohne indirekte "du hast nicht alle Seiten des Manuals gelesen, selbst schuld"-Beiträge gibt. =/
Hier kann ich mir aber die Frge nicht verkneifen: "Tickst Du noch richtig?"
Ich habe Dir explizit geschrieben, was Du in Dein Script einbauen sollst.
Den kleinen Fehler bei $beispiel -> $beispiel_sql hast Du ja bestimmt bemerkt beim Ausprobieren.
Und nun hätte ich gerne das, was Echo Dir ausgegeben hat.
Dann können wir weitersehen.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo,
Nunja, tut mir leid. Mit der Rate-mal-Methode komme ich nich weiter.
Du sollst auch nicht raten, sondern wissen.
Dann muss ich meine Suchfunktion wohl vorerst knicken und ein Forum suchen, dass mir die Antwort als ganze Beispiele und ohne indirekte "du hast nicht alle Seiten des Manuals gelesen, selbst schuld"-Beiträge gibt. =/
Dann mach mal. Aber sei gewarnt, wenn Du nicht lernst, die Hand loszulassen, wirst Du nie selbst gehen lernen. Andererseits ist nicht jeder zum Programmierer geboren, genausowenig, wie jeder musikalisch begabt ist.
Schade eigentlich
Frage Dich, für wen das letztendlich schade sien wird;-)
Grüße
Klaus
Moin!
Der Fehler liegt im SQL-Statement. Lass es Dir ausgeben und untersuche es entsprechend.
*sigh* ..
$beispiel_sql="SELECT * FROM beispiel WHERE text LIKE '%$query%' ORDER BY id DESC";
Variable korrekt mit " " angefangen und beendet, in der Variable keine weiteren ", sondern '.
Von SELECT bis WHERE richtig, text korrekte Spalte.
LIKE richtig in ' gesetzt, Variable existiert.
ORDER BY stimmt
; vorhandenIch konnte keinen Fehler finden, tut mir leid.
MySQL konnte einen finden - das reicht ja auch. Und die Funktion mysql_error() sagt dir, welcher das ist.
Das Problem ist, dass du nur die Vorschrift für die Zusammensetzung des SQL-Statements geprüft hast, nicht aber das Ergebnis. Du fügst Variablen ein, die das Resultat in Richtung "ungültiges SQL" verändern können.
- Sven Rautenberg