online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon tomham vom 10.02.2021, 09:18 Options

Lösung

Problem mit mysql_result()

Hallo Leute!

Hab wieder mal ein kleines Problemchen mit nem Script ...
Dieses mal für mein Gästebuch.
Als erstes mal die Problembeschreibung: Gästebuch (ESC-Taste beim laden drücken !!!!)

und hier der code dazu:

function typebook(){

echo "*** Gästebuch ausgeben ***";

$host="*****";
$benutzer="*****";
$passwort="*****";
$dbname="*****";
$dbserver=mysql_connect($host, $benutzer, $passwort);
mysql_select_db($dbname, $dbserver);

$sql="SELECT * FROM guestbook";
$result = mysql_query($sql) or die("Fehler:".mysql_error());
$rows = mysql_num_rows($result);
echo $result; //ergibt "Resource id #3"
echo $rows; //ergibt "1"
$x=1;
while ($x <= $rows){ // solange Einträge in der DB da sind
  $name=mysql_result($result,$x,"name");
  $mail=mysql_result($result,$x,"mail");
  $msg=mysql_result($result,$x,"msg");

  echo "<table><td>";
  echo "<tr>Name: <a href=\"mailto:$mail\">$name</a></tr>";
  echo "<tr>Nachricht: $msg</tr>";

  }  // while ENDE

mysql_close($dbserver);

}  // function typebook ENDE


Die Verbindung zur Datenbank klappt fehlerlos.
Würd mich freuen wenn mir da jemand helfen könnte.
Ist sicher wieder nur ein kleiner Logikfehler oder Tipfehler (wie so oft bei mir) aber ich finds nicht ...

Danke schon im Voraus!
tomham


Antwort schreiben

Antwort 1 von tomham vom 10.02.2021, 11:42 Options

Hallo Leute.

Hab bereits einen Fehler gefunden.
Hatte vergessen x zu erhöen (hab das jetzt nachgeholt, man muss jetzt nicht mehr ESC drücken beim laden).
  $x=$x+1; 

So am Fehler hat sich jedoch nichts geändert.

Gruß
tom

Antwort 2 von son_quatsch vom 10.02.2021, 11:45 OptionsLösung

Lösung
In der Doku http://de3.php.net/manual/en/function.mysql-result.php steht eindeutig:
Zitat:
row
The row number from the result that's being retrieved. Row numbers start at 0.

Du beginnst aber mit 1. Änder deinen Code wie folgt ab:

$x=0;
while ($x < $rows){ // solange Einträge in der DB da sind

Antwort 3 von tomham vom 10.02.2021, 12:24 Options

Hallo son_quatsch.

Danke für die Info mit der Null.
Weiß nicht wo ich meine Gedanken hatte ...

musste dann in der Prüfung für die Schleife das <= durch ein < ersetzen und jetzt gehts.

Danke für die mithilfe ;-)
Gruß
tom

Ähnliche Themen

MySQL Datumsabfrage
RomanNas  14.09.2007 - 136 Hits - 4 Antworten

Perl mit MySQL?
TByte  09.05.2008 - 72 Hits - 36 Antworten

MySQL Datumsabfrage
MichaelV1971  18.08.2008 - 25 Hits - 1 Antwort

\' aus MySql-Db entfernen
HenryDunant  16.09.2008 - 1 Hit - 3 Antworten

MySQL installieren
TByte  18.10.2008 - 35 Hits - 13 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026