mysql_fetch_row()

nordi

Erfahrenes Mitglied
Hallo, ich hab ein seltsames Problem. Also, ich hab ein kleines Ausgabeskript geschrieben, was bei mir auf dem Server auch wunderbar funktioniert. Jetzt hab ich das auf einen anderen Server geladen, die Datenbankvariablen angepasst und nun kommt ein Fehler, den ich absolut nicht verstehe, da das Skript ja auf dem anderen Server ja funktioniert!?

Also Fehlermeldung lautet wie folgt:

PHP:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /blabla/cms/veroe/index.php on line 42

Das Skript sieht wie folgt aus:

PHP:
<?php
$db = mysql_connect ($dbhost,$dbuser,$dbpass);
mysql_select_db ($dbtable);
$sql = "SELECT * FROM $gb";
$result = mysql_query($sql,$db);
$sql="SELECT * FROM $gb ORDER BY id ASC";
$result = mysql_query($sql,$db);
if ($ende>$number) { $ende = $number; } 

while (list($id,$name) = mysql_fetch_row($result)) // <- ZEILE 42
{

echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <td width=\"4%\"><a href=\"admin/index.php?id=$id\" ><img src=\"edit.gif\" width=\"20\" height=\"16\" border=\"0\" /></a></td> 
    <td width=\"96%\"> 
      <div align=\"left\"> <b>$name</b></div>    </td>
  </tr>
</table>";
}
?>

Wisst ihr vielleicht, was daran falsch ist?

Bin dankbar für jeden Antwort und natürlich alles Gute zum Nikolaus!
 
Hallo!

PHP:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /blabla/cms/veroe/index.php on line 42

Das bedeutet, das Du in Zeile 42 mit einem Abfrageergebnis arbeiten willst, dass kein gültiges MySQL Abfrageergebnis darstellt.

PHP:
$sql = "SELECT * FROM $gb";
$result = mysql_query($sql,$db);
$sql="SELECT * FROM $gb ORDER BY id ASC";
$result = mysql_query($sql,$db);

Es gibt 2 nahezu identische Abfragen?
Das zweite wird das erste Ergebnis überschreiben, die erste ist daher unnötig.
$result enthält also * sortiert nach id.

Ansonsten ist für mich nichts erkennbar. Existiert die Tabelle $gb und gibt es dort eine Spalte die id heißt?

Grüße

Martin
 
Hmmm... wo wird denn "$gb" deffiniert? In einer anderen Datei? Wird die Variable dann mit in diese Datei übergeben?
Wenn ja, dann versuchs mal mit $_GET['gb'] bzw. $_POST['gb'].

Nur so ne idee...

GreetZ exxe
 
Hi, danke schon mal für die Antworten! Aber es hat leider nichts gebracht. Hab den Quellcode wie gesagt "runtergekürtzt". Die Variable $gb wird in einer Datei bestimmt und via include hineingeladen.. Die Spalte "id" existiert auch in der Tabelle!

Hat es was damit zu tun, dass die Kollation der Tabelle in "latin1_german2_ci" geschrieben ist? Das ist nämlich in der anderen Datenbank nicht so und dort funktioniert es!
 
Probier mal folgendes

PHP:
<?php
$db = mysql_connect ($dbhost,$dbuser,$dbpass);
mysql_select_db ($dbtable);
$sql="SELECT `id`,`name` FROM `$gb` ORDER BY `id` ASC;";
$result = mysql_query($sql,$db);
if ($ende>$number) { $ende = $number; } 

while (list($id,$name) = mysql_fetch_row($result)) // <- ZEILE 42
{

echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <td width=\"4%\"><a href=\"admin/index.php?id=$id\" ><img src=\"edit.gif\" width=\"20\" height=\"16\" border=\"0\" /></a></td> 
    <td width=\"96%\"> 
      <div align=\"left\"> <b>$name</b></div>    </td>
  </tr>
</table>";
}
?>

mfg
 
Es kommt immer noch die gleiche Fehlermeldung!

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /is/htdocs/wp1059502_DTY59DLS5R/www/cms/mandanten/index.php on line 40

Aber wie kann das sein? Auf dem anderem Server funktioniert es bestens!?
 
Zurück