Mysql-Fehler

Loddar1

Erfahrenes Mitglied
$sql = "SELECT * FROM $dbtable WHERE kat = 1 ORDER BY rang ASC, name ASC"; $result = mysql_query ($sql);

while($results = mysql_fetch_array($result,MYSQL_BOTH)){

if($check=="yes"){$ziel=$results[ziel];}else{$ziel=$homedom;}

Für die while Zeile bekomme ich folgende Fehlermeldung:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\links.php on line 65

Kann mir das einer definieren?
Danke:confused:
 
der fehler sagt dir, dass etwas in deinem sql-statement falsch ist. überprüfe mal, ob die attribute die du abfragst stimmen (schreibweise etc...) oder versuche mal kat = '1' also in einfachen anführungszeichen.

den ausdruck ASC kannst du bei order by weg lassen, da standardmäßig immer asc sortiert wird.

viele grüße,
BigManu
 
Danke habe den Fehler gefunden, die while Zeile muss so aussehen:
while($results = @mysql_fetch_array($result,MYSQL_BOTH)){

dann funktioniert es richtig.
 
Hi,

muss da nich $dbtable in einfachen Hochkommas

PHP:
$sql = "SELECT * FROM '$dbtable' WHERE kat = 1 ORDER BY rang ASC, name ASC"; 
$result = mysql_query ($sql);
 
Soweit ich weiß kommen aber solche dahin:
PHP:
$sql = "SELECT * FROM `$dbtable` WHERE `kat` = '1' ORDER BY `rang` ASC, `name` ASC"; 
$result = mysql_query ($sql);
 
Hallo zusammen,

ich glaube was maisztaa meinte war einfache eine sauberere Schreibweise, denn die Variable wurde ja einfach so in die "..." mit eingebunden.

Sauber wäre gewesen:
PHP:
$sql = "SELECT * FROM `".$dbtable."` WHERE `kat` = '1' ORDER BY `rang` ASC, `name` ASC"; 
$result = mysql_query ($sql);

Viele Grüße,
BigManu
 
Zurück