php fehler - Warning: mysql_fetch_array()

  • #1
D

der_Salat

Bekanntes Mitglied
Themenersteller
Dabei seit
13.01.2003
Beiträge
75
Reaktionspunkte
0
Ort
Kiel
Moin Moin,

hab mir nun die Nacht um die Ohren geschlagen aber es hilft nix ich brauch Eure Hilfe. Also ich bin dabei mein eigenes Clanwarscript zu erstellen. Am besten Ihr schaut Euch den Fehler mal selber an:
http://www.dersalat.de/wars/wars2.php und dann auf .:show:. Nun sollten eigentlich die wardetails angezeigt werden aber stattdessen:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/web478/html/wars/warsdetail.php on line 16

Danke im Voraus

der_Salat
 
  • #2
Hi,

da es ein Fehler im Code ist, kann man natürlich nichts dazu sagen ohne diesen zu sehen.
 
  • #3
ups sry ^^

<?php
// Verbindung zur Datenbank aufbauen
$db = mysql_connect(localhost,web123,passwort) or die (Verbindung fehlgeschlagen);
mysql_select_db(usr_web123_1,$db);
$cw_list_daten_SQL=SELECT * FROM $cw_list_daten WHERE id=$cw_list_daten_id;
$cw_list_daten_result=mysql_query($cw_list_daten_SQL);
$cw_list_daten=mysql_fetch_array($cw_list_daten_result);
mysql_close();
?>

<table cellpadding=0 cellspacing=0 border=0 width=750>
<tr><td class=contento>   <b>.: wardetails</b></td></tr>
<tr><td class=contentm> </td></tr>
<tr><td class=contentm>
<table cellpadding=0 cellspacing=0 border=0 width=750>
<tr>
<td>

<?php
// Ausgabe der Wars
?>


<table width=700 cellpadding=2 cellspacing=0>
<tbody><tr bgcolor=#686868>
<td> </td>
<td>Gegner Infos</td>
</tr>
<tr>
<td width=150>Datum / XonX / Liga</td>
<td><?php echo date(d.m.y,$unixtime) ?>/<?php echo $cw_list_daten['xonx'] ?> /<?php echo $cw_list_daten['art'] ?></td>
</tr>
<tr>
<td>Clanname</td>
<td><?php echo $cw_list_daten['clan'] ?></td>
</tr>
<tr>
<td>Homepage</td>
<td><a href=<?php echo $cw_list_daten['url'] ?> target=_blank><?php echo $cw_list_daten['url'] ?></a></td>
</tr>
<tr bgcolor=#686868>
<td> </td>
<td>War Infos</td>
</tr>
<tr>
<td>Unsere Map</td>
<td>test</td>
</tr>
<tr>
<td>Gegner Map</td>
<td><?php echo $cw_list_daten['gegnersmap'] ?></td>
</tr>
<tr>
<td>Ergebnis</td>
<td><font color=#00FF00><?php echo $cw_list_daten['unserestats'] ?>:<?php echo $cw_list_daten['gegnerstats'] ?></font></td>
</tr>
<tr bgcolor=#686868>
<td> </td>
<td>Bericht</td>
</tr>
<tr>
<td valign=top>Text</td>
<td><?php echo $cw_list_daten['bericht'] ?></td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>

<tr><td class=contentu> </td></tr>
</table>
 
  • #4
$cw_list_daten_SQL=SELECT * FROM $cw_list_daten WHERE id=$cw_list_daten_id;

$cw_list_daten ist aber vorher irgendwo definiert, oder ?


Änder mal die Zeile
$cw_list_daten_result=mysql_query($cw_list_daten_SQL);
in
$cw_list_daten_result=mysql_query($cw_list_daten_SQL) or die(mysql_error());
dann werden die Fehler in der Abfrage angezeigt.



Außerdem kannst du versuchen nach der Zeile
$cw_list_daten_result=mysql_query($cw_list_daten_SQL);
folgendes einzufügen:
echo Ergebnisse: . mysql_num_rows($cw_list_daten_result) . <br>;

Da sollte dann 1 stehen (die Anzahl der Datensätze die er gefunden hat), wenn nicht oder ne Fehlermeldung, dann ist ein Fehler in der Abfrage oder der Datensatz wurde nicht gefunden.
 
  • #5
$cw_list_daten ist der Name der Datenbank

Nach den Änderung wird dieser Fehler angezeigt:
You have an error in your SQL syntax near->WHERE id=' at line 1
 
  • #6
<?php
// Verbindung zur Datenbank aufbauen
$db = mysql_connect(localhost,web123,passwort) or die (Verbindung fehlgeschlagen);
mysql_select_db(usr_web123_1,$db);
$cw_list_daten_SQL=SELECT * FROM $cw_list_daten WHERE id=$id;
$cw_list_daten_result=mysql_query($cw_list_daten_SQL) or die(mysql_error());
echo Ergebnisse: . mysql_num_rows($cw_list_daten_result) . <br>;
$cw_list_daten=mysql_fetch_array($cw_list_daten_result);
mysql_close();
?>

hatte die datenbank dort als variable definiert ^^ nun geht es.

danke schön
 
  • #7
$cw_list_daten ist aber ne Variable (bzw. wird so zumindest so behandelt) und wenn die nicht gesetzt ist sieht die Abfrage so aus:

SELECT * FROM WHERE [...]

und das führt natürlich zu einem Fehler.


Und wenn die Tabelle wirklich $cw_list_daten heißt kannst du es mit

$cw_list_daten_SQL=SELECT * FROM `$cw_list_daten` WHERE id=$cw_list_daten_id;
oder
$cw_list_daten_SQL=SELECT * FROM \$cw_list_daten WHERE id=$cw_list_daten_id;

probieren, aber ich weiß nich ob das geht und ich würde auch kein $ in einen Tabellennamen verwenden.


Edit:
zu langsam gewesen :)
 
Thema:

php fehler - Warning: mysql_fetch_array()

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben