Original geschrieben von u-Danilo
PHP:
<?php
include ("attachment/mysql.php");
mysql_select_db($db_name,$connection);
$result = mysql_query('SELECT * FROM blabla');
if(mysql_num_rows($result) > 0)
{
while ($row = mysql_fetch_array($result))
{
echo
?>
.
.
.
<?php
;
}
}
mysql_close($connection);
?>
Kann es sein das Du auf leere results fetchst ?
probiers mal so....
Ist zwar im Grunde nicht falsch, vorher abzufragen, ob überhaupt was im Recordset steht, aber zwigend erforderlich ist das nich. Wenn keine Werte aus der Tabelle selektiert wurden oder die Tabelle leer ist, dann wird die while-Schleife gar nicht erst ausgeführt, da das Recordset in diesem Falle ja keine Ergebenisse liefert.
@xox
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in meineseite.php on line 5
Was will diese Fehlermeldung wohl sagen? Genau, dass das übergebene mySQL Resource nicht gültig ist. Sprich, bei der Abfrage kam es zu einem Problem. Und was sollte man an dieser Stelle machen? Genau:
PHP:
$result = mysql_query("SELECT * FROM blabla") OR die(mysql_error());
Ebenfalls ist es sehr hilfreich, alle SQL-Anweisungen erst immer in eine mySQL Konsole einzugeben um zu sehen, was überhaupt im Recordset drin steht und ob da schon eventuelle Fehler aufgetreten sind (Nebenbei möchte hier an dieser Stelle anmerken, dass der Tabellenname 'blabla' nicht gerade sehr aussagekräftig ist
)
Noch eine kleine Anmekrung zur Verbindungsherstellung:
PHP:
<?php
$db_host = "XXX";
$db_user = "XXX";
$db_pw = "XXX";
$db_name = "XXX";
$connection = mysql_connect($db_host,$db_user,$db_pw) OR die('cant connect to database');
mysql_select_db($db_name,$connection) OR die('cant select table: '.$db_name.'');
?>
Erstens brauchen die Parameter bei der Funktion mysql_connect nicht in Double-Quotes zu stehen und zweitens würde ich die Funktion
mysql_select_db ebenfalls in die externe Datei mit reinpacken, es sei denn, du arbeitest innerhalb der Scripte mit verschiedenen Datenbanken auf dem gleichen Host.
** edit **
Mir ist eben auch gerade deine Ausgabe der Daten aufgefallen. Da sind auch einige Fehler drin.
PHP:
<td>DumdiDUm:</td>
<td><?php echo $row[*]; ?></td>
</tr>
<tr>
<td>Beschreibung:</td>
<td><?php echo $row['about']; ?></td>
</tr>
Erstens sollten der Index immer in Single-Quotes stehen, und zweitens, der erste Index (*) macht keinen Sinn. Du musst hier schon explizit einen Index (= Spaltenname) angeben, damit eventuelle Werte ausgegeben werden können.