ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
904
904
EMPFEHLEN
-
Hallo! Ich hab ein mittelschweres Problem mit der sql-abfrage (glaube ich zumindestens)
Hier mein code:
Fehlermeldung: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in usw.... Woran kann das liegen?PHP-Code:if ($_POST){
$vname = trim($_POST ['vname']);
$nname = trim($_POST['nname']);
}
echo "Gesucht wird nach: $vname $nname";
$suchen = mysql_query("SELECT id, vname, nname FROM vos_database WHERE vname LIKE '%$vname%' OR nname LIKE '%$nname%' ORDER BY id");
$zeilen = mysql_query($suchen);
$treffer = mysql_affected_rows();
if ($treffer==0){
echo "Leider keine Übereinstimmung gefunden! Bitte versuchen Sie es mit einem noch einmal mit einem anderen Suchbegriff!";
} else {
while (list ($id, $vname, $nname) = mysql_fetch_row($zeilen)){
get_person($id);
echo "<br /n>";
}
}
-
Du hast da was doppelt gemoppelt:
Code :1 2
$suchen = mysql_query("SELECT id, vname, nname FROM vos_database WHERE vname LIKE '%$vname%' OR nname LIKE '%$nname%' ORDER BY id"); $zeilen = mysql_query($suchen);
entweder so:
oder so:Code :1 2
$suchen = "SELECT id, vname, nname FROM vos_database WHERE vname LIKE '%$vname%' OR nname LIKE '%$nname%' ORDER BY id" $zeilen = mysql_query($suchen);
....wäre besserCode :1
$zeilen = mysql_query("SELECT id, vname, nname FROM vos_database WHERE vname LIKE '%$vname%' OR nname LIKE '%$nname%' ORDER BY id");
-
Spontan würde ich sagen es liegt daran dass du 2 mysql_query ausführst.
Also das mysql_query bei $suchen weg.
Wenn es dann immernoch nicht geht, echo auf $suchen. Den Query der ausgegeben wird in phpMyAdmin(oder anderes Programm...) ausführen.
//edit: Sven Mintel war halt schneller, buh
Geändert von Loomis (22.04.08 um 09:44 Uhr) Grund: edit...
-
@ Sven
Hab ich das richtig verstanden... du meinst...
...wäre besser?PHP-Code:$zeilen = mysql_query("SELECT id, vname, nname FROM vos_database WHERE vname LIKE '%$vname%' OR nname LIKE '%$nname%' ORDER BY id");
Kannst du erklären warum? Will ja auch dazulernen.
Ich mache das nämlich immer in der Form:
PHP-Code:$suchen = "SELECT id, vname, nname FROM vos_database WHERE vname LIKE '%$vname%' OR nname LIKE '%$nname%' ORDER BY id"
$zeilen = mysql_query($suchen);
-
Keine der beiden Methoden ist "besser" in dem Sinne. Evtl. ist die zweite übersichtlicher, im Endeffekt kommt bei beiden das selbe raus.
-
Klar! Doppelt Abfrage! Hätte ich auch gleich drauf kommen können, Fehlermeldung ist weg, aber jetzt schmeißt er mir SÄMTLICHE Datensäztze raus, was natürlich nicht im Sinne des Erfinders ist! Hab jetzt den Code SO:
PHP-Code:$suchen = "SELECT id, vname, nname FROM vos_database WHERE vname LIKE '%$vname%' OR nname LIKE '%$nname%' ORDER BY id";
$zeilen = mysql_query($suchen);
$treffer = mysql_affected_rows();
if ($treffer==0){
echo "Leider keine Übereinstimmung gefunden! Bitte versuchen Sie es mit einem noch einmal mit einem anderen Suchbegriff!";
} else {
while (list ($id, $vname, $nname) = mysql_fetch_row($zeilen)){
get_person_ausgabe($id);
echo "<br /n>";
}
}
-
22.04.08 10:22 #7
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
So wie Du es im letzten Beitrag schreibst muss/müsste es auch ohne Probleme funktionieren (siehe auch Erklärung von Sven).
Ganz am Anfang hast Du aber folgendes geschrieben:
Hier führst Du in der ersten Zeile die SQL-Abfrage aus und übergibst das Ergebnis an die Variable $suchen.PHP-Code:$suchen = mysql_query("SELECT id, vname, nname FROM vos_database WHERE vname LIKE '%$vname%' OR nname LIKE '%$nname%' ORDER BY id");
$zeilen = mysql_query($suchen);
In der zweiten Zeile versucht Du dieses Ergebnis erneut als Abfrage auszuführen und an die Variable $zeilen zu übergeben. Das ist es dann was den Fehler auslöst.
Ich persönlich übergebe die SQL-Anweisung auch immer zuerst an eine Variable, wie z.B.
Besser oder schlechter ist das nicht wie wenn man die Anweisung gleich bei mysql_query reinschreibt. Aber bei kompliziertenren Abfragen kann man sich so einfach per echo die komplette Anweisung am Bildschirm anzeigen. Da entdeckt mann dann oft ein vergessenes Zeichen.PHP-Code:$sql = "SELECT * FROM tabelle WHERE feld = 'abc'"
$result = mysql_query($sql);
Gruß ThomasSollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
22.04.08 10:23 #8
- Registriert seit
- Jul 2007
- Ort
- Quakenbrück
- Beiträge
- 756
Bist du dir sicher, dass es ein Zufall ist, dass alle Datensätze ausgespuckt werden?
Oder ist das Ergebnis der Suche evtl Tatsächliche, dass die Suchmaske auf alle Datensätze zutrifft?Schnellste Hilfe -> www.gidf.dePHP-Code:($hilfe=='hilfreich') ? bewerten(positiv) : ignore_post();
Wer aus meiner Gegend kommt, kann sich gern mal melden, kenn hier keenen ;)
-
Lass dir mal den generierten Query ausgeben. Ich wette meinen Morgenkaffee darauf, dass $vname und $nname leer sind. Darauf solltest du vorher prüfen.
-
Hier:
wärePHP-Code:$treffer = mysql_affected_rows();
richtig.PHP-Code:$treffer = mysql_num_rows($zeilen);
(Siehe: mysql_affected_rows() und mysql_num_rows() bei php.net)
Ähnliche Themen
-
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource
Von Hattrix im Forum PHPAntworten: 30Letzter Beitrag: 29.07.10, 15:39 -
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
Von Lobedan im Forum PHPAntworten: 11Letzter Beitrag: 05.08.09, 22:52 -
Verzweiflung: supplied argument is not a valid MySQL result resource...
Von SonMiko im Forum PHPAntworten: 9Letzter Beitrag: 14.09.08, 20:22 -
mysql_num_fields(): supplied argument is not a valid MySQL result resource
Von Mavericklp im Forum PHPAntworten: 4Letzter Beitrag: 21.09.07, 11:53 -
mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource
Von 3dsmaxer im Forum PHPAntworten: 3Letzter Beitrag: 18.05.07, 13:12





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren