Archiv verlassen und diese Seite im Standarddesign anzeigen : Sortierung WHERE Abfrage Fehlermeldung
Hallo :)
Habe in einem Script
<a href=\"sort.php?SUID=$SUID&sortb=a&sortB=A\">A</a>|
fortlaufend bis z...
Nun wird diese URL in der Datei sort.php ausgewertet und die Datrenbank abgefragt.
$result = mysql_query("SELECT * FROM $information WHERE nname == $sortb OR $sortB ORDER BY nname ASC");
while ($info = mysql_fetch_array($result,MYSQL_Both))
und nun bekomme ich die Fehlermeldung
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/htdocs/v093191/hdp/sort.php on line 51
Line 51 ist da wo while steht.
Wisst ihr woran das liegen könnte?
schlimmerfinger 08-06-2004, 10:32 Versuch mal folgendes$result = mysql_query("SELECT * FROM $information WHERE nname == $sortb OR $sortB ORDER BY nname ASC")
OR die(mysql_error() . '<br>ZEILE: ' . __LINE__);
while ($info = mysql_fetch_array($result,MYSQL_Both))
cheers
Gae-Bulga 08-06-2004, 10:33 Versuch mal das zum testen ...bin vielleicht unerfahren, aber irgendwie kommt mir die Abfrage seltsam vor...
SELECT * FROM $information
WHERE nname = $sortb
OR nname = $sortB
ORDER BY nname ASC
bäh, ich lass es *swt*
lachesis 08-06-2004, 10:33 Hi,
Ändere mal Deine Abfrage:
SELECT * FROM $information WHERE nname == $sortb OR $sortB ORDER BY nname ASC
in
SELECT * FROM $information WHERE nname = $sortb OR nname =$sortB ORDER BY nname ASC
der ein sagt, "änder mal dies", der andere, "bau mal das um", etc.
dabei lautet die einzig "richtige" antwort schlicht und einfach "lies doch erst mal im manual nach!"
Da hast du sicher Recht wahsaga, allerdings urteilst du ein wenig vorschnell.
Denkst du nicht, das ich mir die Mühe gemacht habe und bei google und co gesucht habe?
Doch habe ich, jedoch hat es mich nicht weiter gebracht und deshalb habe ich den Weg hier ins Forum gefunden um hier meinen nächsten Schritt, Das Nachfragen in Bezug auf mein Problem, zu vollziehen. Ja und hier bin ich nun und es geht leider immer noch nicht :/
Danke an Lachesis, Gae-Bulga und schlimmerfinger, leider funktionierte keine der aufgezeigten möglichen Lösungen.
Im Moment habe ich den Code so abgeändert (Datei sort.php):
$result = mysql_query("SELECT * FROM $information WHERE nname = $sortb ")
OR die(mysql_error() . '<br>ZEILE: ' . __LINE__);
while ($info = mysql_fetch_row($result))
und bekomme als Fehlermeldung:
Unknown column 'a' in 'where clause'
(a war der link den ich angeklickt habe.)
(Datei index.php)
<a href=\"sort.php?SUID=$SUID&sortb=a&sortB=A\">A</a>|
****EDIT****
Hab die Lösung, nach vielen Versuchen und nochmal google mit anderen "Fragen" zu rate ziehen habe ich heraus gefunden,
1. $sortb muss ich Hochkommate
2. muss ich "Array" nicht pber die spaltennamen sonern über die indiz (heisst das so?) ansprechen also $info[2] statt $info[nname]
Allerdings habe ich nun eine Fehlermeldung ressource id #4, hm :confused: :cool: , trotzdem funktioniert alles :dontknow:
schlimmerfinger 08-06-2004, 13:09 Im Moment habe ich den Code so abgeändert (Datei sort.php):
$result = mysql_query("SELECT * FROM $information WHERE nname = $sortb ")
OR die(mysql_error() . '<br>ZEILE: ' . __LINE__);
und bekomme als Fehlermeldung:
Unknown column 'a' in 'where clause'
(a war der link den ich angeklickt habe.)
(Datei index.php)
[PHP]<a href=\"sort.php?SUID=$SUID&sortb=a&sortB=A\">A</a>| [/B]Bist du dir sicher das du die Datei hochgefaren hast? Ansonten lass dir nochmal die Abfrage ausgeben.echo $sql = "SELECT * FROM $information WHERE nname = $sortb ";
$result = mysql_query($sql)
OR die('<br>' . mysql_error() . '<br>ZEILE: ' . __LINE__);
da sortb keine zahl ist wäre ' ' rechts links in deinem sql statement angebracht.
Siehe www.mysql.de
dann weisst du auch wo die ' fehlen.
****EDIT****
Hab die Lösung, nach vielen Versuchen und nochmal google mit anderen "Fragen" zu rate ziehen habe ich heraus gefunden,
1. $sortb muss ich Hochkommate
2. muss ich "Array" nicht pber die spaltennamen sonern über die indiz (heisst das so?) ansprechen also $info[2] statt $info[nname]
Allerdings habe ich nun eine Fehlermeldung ressource id #4, hm , trotzdem funktioniert alles
Original geschrieben von wiSh
1. $sortb muss ich Hochkommate
wie gesagt, manual lesen ...
2. muss ich "Array" nicht pber die spaltennamen sonern über die indiz (heisst das so?) ansprechen also $info[2] statt $info[nname]
ja, wenn du mysql_fetch_row verwendest, musst du das wohl.
aber es gibt ja auch noch andere mysql_fetch-funktionen, auch welche, bei denen du durchaus den spaltennamen als assoziativen index verwenden kannst.
Allerdings habe ich nun eine Fehlermeldung ressource id #4
das ist keine fehlermeldung, sondern vermutlich gibst du irgendwo $result per echo o.ä. aus.
und das diese variable nun mal nur ein imaginäres konstrukt beinhaltet, welches eben auf die mysql-ergebnismenge zeigt, gibt PHP dir dann nur aus, dass es sich um die ressource mit der nummer xy handelt.
|
|