Was bedeutet denn dieser Fehler?

  • Themenstarter Themenstarter jaylibII
  • Beginndatum Beginndatum
J

jaylibII

Guten Abend,

hmm was bedeutet denn dieser Fehler?

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/htdocs/v148718/locations/cafes.php on line 143

in der Zeile steht:

PHP:
while($db_cafes = mysql_fetch_array($result)) //Ergebnisse der Abfrage in Array laden und dieses Array in einer While-Schleife durchlaufen, bei jedem Durchlauf die Daten ausgebe

das ganze sieht dann so aus:

PHP:
 <?php 
unset($i);
// Anziegen der Eintr&auml;ge
			$sql = "SELECT 
						id,
						name,
						straße,
						platz,
						ort, 
						telefon,
						info,
						url,
						mail,
						bild,
						aktiv 
					
					FROM 
						cafes
								ORDER BY
								LIMIT $start, $eintraege_pro_seite

					"; //SQL String zum auslesen aller Datens&auml;tze aus der Datenbank
			$result = mysql_query($sql);
			while($db_cafes = mysql_fetch_array($result)) //Ergebnisse der Abfrage in Array laden und dieses Array in einer While-Schleife durchlaufen, bei jedem Durchlauf die Daten ausgeben
            {   
				?>
				                                  <?php
$result = mysql_query("SELECT id FROM cafesl ");
$menge = mysql_num_rows($result);
$wieviel_seiten = $menge / $eintraege_pro_seite;
?>

Hmm ich hoffe es weiß jemand was das ist.

Gruß jaylibII
 
Zuletzt bearbeitet von einem Moderator:
Würde mal auf einen anderen Datenbank- oder Tabellennamen tippen als dass du es angibst in deinem Script...
gruss
 
An das habe ich auch gedacht aber es kommt erst seit ich das mit der Seitenzalh eingebaut habe sprich:

PHP:
ORDER BY
	LIMIT $start, $eintraege_pro_seite

PHP:
<?php
$result = mysql_query("SELECT id FROM cafes_in_kassel");
$menge = mysql_num_rows($result);
$wieviel_seiten = $menge / $eintraege_pro_seite;
?>

PHP:
                                                <?php echo "<div align=\"center\">";
echo "<b>Seite:</b> ";
for($a=0; $a < $wieviel_seiten; $a++)
   {
   $b = $a + 1;
   //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
   if($seite == $b)
      {
      echo "  <b>$b</b> ";
      }
   //Aus dieser Seite ist der User nicht, also einen Link ausgeben
   else
      {
      echo "  <a href=\"?seite=$b\">$b</a> ";
      }
   }
echo "</div>";

?>
 
Ich würde mal darauf tippen, dass Du Punkt c) aus den Regeln fürs PHP-Board nicht beachtet hast.
Der Fehler bedeuted übrigends genau das, was er aussagt: Die Variable, die Du übergibst enthält keine Ergebnisskennung einer MySQL-Abfrage. Da [phpf]mysql_query[/phpf] bei select's eine solche oder false zurückgibt, wird es wohl false gewesen sein. False wird zurückgegeben, wenn das Query syntaktisch oder semantisch falsch ist oder keine ausreichenden Rechte an der Tabelle vorhanden sind.
Mit [phpf]mysql_error[/phpf] erhältst Du Informationen über den Fehler, den Deine Abfrage verursacht hat. Ohne die Information lässt sich nur mutmaßen, was an dem Query falsch ist.

Gruß hpvw
 
Hallo,

hmm er motzt folgendes:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0, 16' at line 17

das heißt dass ihm hier was nicht passt:

PHP:
LIMIT $start, $eintraege_pro_seite
";

aber das geht auf den anderen Seiten auch nur hier eben nicht :-(
 
Hmm eigentlich will ich gar nicht sorieren lassen aber OK jetzt lass ich das eben nach id sortieren aber nun ist das Problem, dass er nun die Seiten nicht mehr läd. Er will immer was öffen aber schafft es scheinbar nicht
 
jaylibII hat gesagt.:
Hmm eigentlich will ich gar nicht sorieren lassen aber OK jetzt lass ich das eben nach id sortieren
Du könntest natürlich auch ORDER BY weglassen, ich dachte nur, da es schon dasteht, willst Du auch etwas sortieren.

jaylibII hat gesagt.:
aber nun ist das Problem, dass er nun die Seiten nicht mehr läd. Er will immer was öffen aber schafft es scheinbar nicht
Das müsstest Du noch mal genauer erklären, das versteh ich nicht so ganz. An welcher Stelle tritt das Problem auf? Wenn der Server ausgelastet oder schwach ist, kann das Ansprechen einer Datenbank mit einem (korrekten) Query ungewöhnlich lange dauern.

Gruß hpvw
 
Es könnte sich eine Endlosschleife eingeschlichen haben.
Du solltest also die entsprechende Schleife überprüfen, also ihre Abbruch-Bedingung und prüfen, ob die Variablen der Bedingung richtig im Kopf und im Schleifenkörper, ggf. auch in anderen Funktionen, manipuliert werden. Oder Du hast eine Rekursion, die ohne Abbruch-Bedingung implementiert ist.
 
Hallo,

hmm ich werde mich das gleich mal ansehen und wenn ich nicht weiter komme, dann melde ich mich einfach nochamls hier.

Wünsch dir nee gute Nacht.

Gruß jaylibII
 
Zurück