mysql_fetch_array(): supplied argument is not a valid MySQL

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

mysql_fetch_array(): supplied argument is not a valid MySQL

Postby zuma » 22. February 2006 17:00

Hallo,

ich versuche ein Skript zu schreiben mit dem ich Einträge aus einer Datenbank auslesen kann, die dann sortiert nach Datum auf meiner Webseite ausgegeben werden. Bis jetzt habe ich folgendes Skript:
Code: Select all
<?php
$tabellenname="news";
$sql="SELECT image, titel, news, date FROM $tabellenname WHERE pruef=1 ORDER BY datum DESC ";
$link= mysql_connect("localhost", "zuma", "XYZ");
mysql_select_db("test", $link);
$result= mysql_query($sql, $link);
//Datensätze in ein Array schreiben
for($i=0;$i<mysql_num_rows($result);$i++)
{
   $ergebnis[$i]=mysql_fetch_array($result);
}

//Datensätze in einer Tabelle ausgeben
for($i=0;$i<count($ergebnis);$i++)
{
   echo "<table border=\"1\" width=\"400\"><tr><td>".$ergebnis[$i]['image']." </td><td>
   ".$ergebnis[$i]['date']." </td></tr>";
   echo "<tr><td colspan=\"2\"> ".$ergebnis[$i]['titel']." </td></tr>";
   echo "<tr><td colspan=\"2\"> ".$ergebnis[$i]['news']." </td></tr></table>";
}
?>

Leider erhalte ich folgende Fehlermeldung:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Programme\xampp\htdocs\test2.php on line 9

Die offensichtlichen Sachen habe ich schon gecheckt. Passwort und Benutzername sind richtig. DB existiert und auch die Tabelle. Mit einem anderen Skript kann ich sogar in die Tabelle Daten schreiben.

Kann mir jemand helfen?
Danke und viele Grüße,
Zuma
zuma
 
Posts: 1
Joined: 22. February 2006 15:44

Postby Wiedmann » 22. February 2006 17:28

Code: Select all
$result= mysql_query($sql, $link);
for($i=0;$i<mysql_num_rows($result);$i++)
{
   $ergebnis[$i]=mysql_fetch_array($result);
}

mysql_fetch_array(): supplied argument is not a valid MySQL

Das bemängelte Argument ist $result was durch mysql_query() ensteht. Du solltest also prüfen ob das Query funktioniert, und wenn nicht, dir die Fehlermeldung von MySQL anzeigen lassen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby M3g4Star » 23. February 2006 08:22

Code: Select all
SELECT image, titel, news, date FROM $tabellenname WHERE pruef=1 ORDER BY datum DESC


Dein SQL-Statement ist nicht in ordnung. ,

gib das mal im PHPMyAdmin ein. da kannst du deine SQL Statements immer checken falls was nicht in Ordnung ist. Ausserdem solltest du dir immer, wie Wiedmann schon sagte die Errors im "Fehlerfall" ausgeben lassen.

Code: Select all
$sql = "SELECT *
        FROM Tabelle";

$result = mysql_query($sql);

if($result) $zeilen = mysql_num_rows($result);
else die(mysql_error());


So solltest du die Ausgabe des fehlers erzwingen können. :wink: und so solltest du es auch immer machen damit keine unbekannten Fehler auftreten. :wink:

@Wiedmann ist das so korrekt ? Oder was gegen die If-Anweisung zu sagen ??? :?:
User avatar
M3g4Star
 
Posts: 145
Joined: 25. January 2006 07:46
Location: München


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 25 guests