MySQL - Abfrage nach Datum

Jetzt kommt wieder folgende fehlermeldung:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/arionfin/www/www/news/test.php on line 33


Übrigens die datei config.inc.php sieht so aus:

<?
//Hier kommt der Name des Servers rein.
$server = "localhost";

//Hier kommt der Username rein, mit der Du Dich bei der Datenbank anmelden mußt.
$user = "XXX";

//Und jetzt Dein Passwort
$pass = "XXX";

//Wie heißt Deine Datenbank?
$db = "deutsch";

//Wie heißt die Tabelle in der die News gespeichert werden sollen?
$tabelle = "news";


//Was soll ausgegeben werden, wenn die Verbindung zur Datenbank nicht geklappt hat?
$fehlerdatenbank = "<p>Die Anmeldung bei der Datenbank schlug fehl, bitte versuchen Sie es zu einem späteren Zeitpunkt erneut.";

//Was soll ausgegeben werden, wenn die Datenbank nicht gefunden wurde?
$datenbanknichtda = "Die Datenbank wurde nicht gefunden.";

//Wieviele News sollen in der Übersichtdatei (newskurz.php) angezeigt werden?
$anzahluebersicht = "2";

//Soll in der Übersicht der gesamte Text angezeigt werden?
// 1 -> nur Kurzform; 2 -> gesamter Text
$artuebersicht = "1";

//Breite der Übersicht. Wenn über die gesamte verfügbare Breite bitte 100% eintragen
$breiteuebersicht = "100%";

//Breite der ausführlichen News-Datei (news.php). Wenn über die gesamte verfügbare Breite bitte 100% eintragen
$breitenews = "100%";

//Was soll ausgegeben werden, wenn der Datensatz erfolgreich in die Datenbank eingetragen wurde?
$erfolgreich = "<p>Wir haben die News erfolgreich der Datenbank hinzugefügt/geändert. Möchten Sie weitere <a href=\"newsadmin.php?action=verfassen\">News</a> verfassen?";

//Was soll ausgegeben werden, wenn der Datensatz nicht in die Datenbank eingetragen werden konnte?
$fehler = "<p>Es ist ein Fehler aufgetreten. Bitte wiederholen sie diesen vorgang später erneut. Sollte dieser Fehler erneut auftreten, dann wenden Sie sich bitte an den Webmaster.";

?>


Weiters habe ich noch eine newskurz.php die nur die zwei aktuellsten news ausgibt (die jetzt natürlich mit änderung der datenbank.inc.php nicht mehr funktioniert - davor allerdings problemlos funktioniert hat):

<html>
<head>
<link rel=stylesheet type="text/css" href="news.css">
</head>
<body>
<?
include("config.inc.php");
include("datenbank.inc.php");
$abfrage = "SELECT * from $tabelle order by datum desc limit 0,$anzahluebersicht";

echo "<table width=\"$breiteuebersicht\">";

$result = mysql_query($abfrage,$conn);
while ($row = mysql_fetch_array ($result))
{
$datum = $row["datum"];
$beitrag = $row["beitrag"];
$beitrag = nl2br($beitrag);
$autor = $row["autor"];
$betreff = $row["betreff"];
$kurztext = $row["kurzform"];
$kurztext1 = nl2br($kurztext);

$datum1 = date("d.m.Y",$datum);

if ($artuebersicht == "1")
{
echo <<<ABC
<tr>
<td><center><p class="betreff"><b><small>$betreff</small></b><br><small>(Datum: $datum1)</small></center></td>
</tr>
<tr>
<td><center><small><p class="beitrag"><small>$kurztext1 </small><a href="http://www.arion-finance.com/news.htm" target="_top"><small>>>></small><br><br></a></center>
</td>

</tr>
ABC;
}
if ($artuebersicht == "2")
{
echo <<<ABC
<tr>
<td><p class="betreff">$betreff<small>(am $datum1 geschrieben von $autor)</small></td>
</tr>
<tr>
<td><p class="beitrag">$beitrag<br><br></td>
</tr>
ABC;
}
}
echo "</table>";

?>
</body>
</html>
 
Hola!
Also, die Fehlermeldung besagt in erster Linie immer, dass etwas, was in der Abfrage abgefragt wird, nicht in der DB existiert. Dies kann z.B. oft ein Tippfehler sein!!!

Außerdem musst du nun, wo die Datenbankverbindung ja sofort von Anfang an existiert nicht mehr $conn nach $abfrage schreiben! Das ist auf jeden Fall schonmal nen Fehler!

Wenn du außerdem vorher eine Variable $abfrage machen lässt, dann kanst u in dem String ganz einfach die Variable reinschreiben und musst nicht '\".$variable.\"' schreiben sondern halt nur $variable.

Lasse die diesen String doch einfach mal ausprinten ( print($abfrage) ) und schau ob er genau so ausschaut wie er aussehen sollte, wenn du ihn selbst schreibst! Evtl. müssen die ' weg und auch die ", dann ains auch die . sofort überflüssig!

Also hier mal wieder nen Lösungsvorschlag:

PHP:
$result = mysql_query("SELECT * from '".$tabelle."' order by datum desc limit 0,'".$anzahluebersicht."'");
while($row = mysql_fetch_array($result))

Wobei ich mal davon ausgehe, dass $anzahluebersicht per URL übergeben wird, da die variable nirgends steht!
 
Guten morgen! Hab jetzt bei newskurz die abfrage ausgetauscht, nun kommt die fehlermeldung:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/arionfin/www/www/news/newskurz.php on line 14

Der quelltext lautet nun:

<?
include("config.inc.php");
include("datenbank.inc.php");
$abfrage = "SELECT * from $tabelle order by datum desc limit 0,$anzahluebersicht";

echo "<table width=\"$breiteuebersicht\">";

$result = mysql_query("SELECT * from '".$tabelle."' order by datum desc limit 0,'".$anzahluebersicht."'");
while($row = mysql_fetch_array($result))

{
$datum = $row["datum"];
$beitrag = $row["beitrag"];
$beitrag = nl2br($beitrag);
$autor = $row["autor"];
$betreff = $row["betreff"];
$kurztext = $row["kurzform"];
$kurztext1 = nl2br($kurztext);

$datum1 = date("d.m.Y",$datum);

if ($artuebersicht == "1")
{
echo <<<ABC
<tr>
<td><center><p class="betreff"><b><small>$betreff</small></b><br><small>(Datum: $datum1)</small></center></td>
</tr>
<tr>
<td><center><small><p class="beitrag"><small>$kurztext1 </small><a href="http://www.arion-finance.com/news.htm" target="_top"><small>>>></small><br><br></a></center>
</td>

</tr>
ABC;
}
if ($artuebersicht == "2")
{
echo <<<ABC
<tr>
<td><p class="betreff">$betreff<small>(am $datum1 geschrieben von $autor)</small></td>
</tr>
<tr>
<td><p class="beitrag">$beitrag<br><br></td>
</tr>
ABC;
}
}
echo "</table>";

?>
 
Ich geh kaputt! Ich nehm mir aber auch nur die Zeit, weil ich früher auch oft an so Fehlern hängen gebllieben bin, und es nun eigentlich immer sofort schaffen diese zu lösen. Nur hier scheint noch irgendetwas anders zu sein!

Wie gesagt. Wenn der Fehler kommt "supplied argument is not a valid MySQL result resource" dann gibt es irgendeinen Wert nicht so, wie er in der Abfrage steht! So, dass z.B. das Feld datum gar nicht existiert!

Das Problem ist ja auch, dass ich nicht direkt deine ganzen Scripte vorliegen habe und nicht mit der DB vergleichen kann!
 
Zurück