Fehlermeldung beim Auslesen einer Tabelle
Michael
- php
Hallo,
also, ich habe folgenden PHP-Source:
$conn = @mysql_connect($server, $user, $pass);
if($conn) {
mysql_select_db($dbase, $conn);
echo "<b>Verbindung erfolgreich aufgebaut!</b> Handle-ID: $conn";
$sql = "SELECT * FROM AD_PROFIL";
$result=mysql_query($sql, $conn);
$number=mysql_num_rows($result);
echo "<p> Es sind $number Datensätze gelesen worden.</p>";
echo "<table border=1>";
while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "<tr><td>";
echo implode("</td></td>",$row);
echo "<td></tr>\n";
}
echo "</table>";
Also das Skript soll eine Tabelle in meiner SQL-Datenbank ausgeben, aber es kommen zwei Fehlermeldungen:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in mysql-tests/show_table.php4 on line ...
Es sind Datensätze gelesen worden.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource mysql-tests/show_table.php4 on line ...
Was ist falsch an dem PHP-Code??? Ich komm einfach nicht auf de Lösung!!
Danke schon mal im vorraus.
Gruß
Michael
OK, vielleicht sehe ich gerade den Wald vor Bäumen nicht - Ändere bitte mal so, dass die mysql_select_db-Zeile auch noch vor dem if ($conn) steht, vielleicht scheitert da etwas beim selecten...
»»Ändere bitte mal so, dass die mysql_select_db-Zeile auch noch vor dem if ($conn) steht, vielleicht scheitert da etwas beim selecten...
Nee, funktioniert immer noch nicht, aber trotzdem Danke.
Hallo Michael,
$conn = @mysql_connect($server, $user, $pass);
warum unterdrückst du eine evtl. Fehlermeldung?
echo "<b>Verbindung erfolgreich aufgebaut!</b> Handle-ID: $conn";
wird das ausgegeben?
$sql = "SELECT * FROM AD_PROFIL";
gibt es die Tabelle "AD_PROFIL"?
echo implode("</td></td>",$row);
wohl eher echo implode("</td><td>",$row);, oder (du hast ein '/' zu viel)?
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in mysql-tests/show_table.php4 on line ...
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource mysql-tests/show_table.php4 on line ...
was sagt mysql_error() (aufgerufen nach mysql_num_rows() bzw. mysql_fetch_array())?
Grüße aus Nürnberg
Tobias
Hallo,
$conn = @mysql_connect($server, $user, $pass);
warum unterdrückst du eine evtl. Fehlermeldung?
Tu ich das. Ich fange doch ein Fehler mit if($conn) ab.
echo "<b>Verbindung erfolgreich aufgebaut!</b> Handle-ID: $conn";
wird das ausgegeben?
Ja, dieser Text erscheint am Bildschirmm.
$sql = "SELECT * FROM AD_PROFIL";
gibt es die Tabelle "AD_PROFIL"?
Ja, AD_PROFIL éxistiert und beinhaltet zwar erst 2 Datensätze.
echo implode("</td></td>",$row);
wohl eher echo implode("</td><td>",$row);, oder (du hast ein '/' zu viel)?
Ja simmt. Habs geändert.
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in mysql-tests/show_table.php4 on line ...
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource mysql-tests/show_table.php4 on line ...
was sagt mysql_error() (aufgerufen nach mysql_num_rows() bzw. mysql_fetch_array())?
Das ist ja gerade das verrückte, mysql_error(); sagt nichts.
Ich hab hier nochmal mein kompletten Code aufgelistet:
#Die Werte in den folgenden Variablen hab ich natürlich herausgelassen.
$user = ""; # Username für die MySQL-DB
$pass = ""; # Kennwort für die MySQL-DB
$server = ""; # Adresse/IP/Name des MySQL-Server
$dbase = ""; # Name der standardmäßig verwendeten Datenbank
$conn = @mysql_connect($server, $user, $pass);
echo mysql_error($conn);
mysql_select_db($dbase, $conn);
echo mysql_error();
if($conn)
{
echo "<b>Verbindung erfolgreich aufgebaut!</b> Handle-ID: $conn";
$sql = "SELECT * FROM AD_PROFIL";
$result= mysql_query($sql, $conn);
echo mysql_error();
$number=mysql_num_rows($result));
echo mysql_error();
echo "<p> Es sind $number Datensätze gelesen worden.</p>";
echo "<table border=1>";
while ($row=mysql_fetch_array($result,MYSQL_ASSOC))
{
echo mysql_error();
echo "<tr><td>";
echo implode("<td></td>",$row);
echo mysql_error();
echo "</td></tr>\n";
}
echo "</table>";
}
else
{
echo "<b>Verbindung zum MySQL-Server konnte nicht hergestellt werden </b></body></html>";
}
Viele Grüße
Michael
Hallo, ich bins nochmal
$number=mysql_num_rows($result));
Hab oben eine Klammer zu viel.
Viele Grüße
Michael
Hallo,
Es funktioniert jetzt. Was weis ich, was da falsch war, bzw. falsch sein sollte.
Hier nochmal der funktionierene Code:
<?php
#Die Werte in den folgenden Variablen hab ich natürlich herausgelassen.
$user = ""; # Username für die MySQL-DB
$pass = ""; # Kennwort für die MySQL-DB
$server = ""; # Adresse/IP/Name des MySQL-Server
$dbase = ""; # Name der standardmäßig verwendeten Datenbank
$conn = @mysql_connect($server, $user, $pass);
echo mysql_error($conn);
mysql_select_db($dbase, $conn);
echo mysql_error();
if($conn)
{
echo "<b>Verbindung erfolgreich aufgebaut!</b> Handle-ID: $conn";
$sql = "SELECT * FROM AD_PROFIL";
$result= mysql_query($sql, $conn);
echo mysql_error();
$number=mysql_num_rows($result);
echo mysql_error();
echo "<p> Es sind $number Datensätze gelesen worden.</p>";
echo "<table border=1>";
while ($row=mysql_fetch_array($result,MYSQL_ASSOC))
{
echo mysql_error();
echo "<tr><td>";
echo implode("<td></td>",$row);
echo mysql_error();
echo "</td></tr>\n";
}
echo "</table>";
}
else
{
echo "<b>Verbindung zum MySQL-Server konnte nicht hergestellt werden </b></body></html>";
}
?>
Bye Michael