Georg: Php-DB-Problem

Moin Leutz,

ich hab ein kleines Db-Php-Problem..

Ihr könnt bestimmt weiterhelfen..

<?

//DB-Verbindung

$conn = @mysql_pconnect("root","db1","pw");
mysql_select_db("gbdb",$conn);

$insertquery="insert into guestbook (name,eintrag) values ('Georg','Hi Leute');

for $k=0; $k<10; $k++){
mysql_query($insertquery);

}

$query1 = "select name from guestbook where id >0";
$result = mysql_query($query1,$conn);

$num = mysql_numrows($result);
for ($i = 0; $i < $num; $i++) {
        $row = mysql_fetch_array($result);
        echo "Name : $row[name]<br>";
}

?>

Da kommt irgendwie ein Fehler..

Habt ihr ne Ahnung?

Gruß Georg

  1. Hallo,

    $conn = @mysql_pconnect("root","db1","pw");

    Warum verwendest du mysql_pconnect? Davon wird doch ausdruecklich
    abgeraten.

    $num = mysql_numrows($result);
    for ($i = 0; $i < $num; $i++) {
            $row = mysql_fetch_array($result);
            echo "Name : $row[name]<br>";
    }

    Das kann man einfacher haben:

    while($row = mysql_fetch_array($result)) {
      echo "Name: $row[name]<br>";
    }

    Da kommt irgendwie ein Fehler..

    Der da waere?

    Habt ihr ne Ahnung?

    Nicht ohne Glaskugel oder Entsprechende Fehlermeldungen.

    Gruesse,
     CK

  2. Moin Georg,

    $num = mysql_numrows($result);
    for ($i = 0; $i < $num; $i++) {
            $row = mysql_fetch_array($result);
            echo "Name : $row[name]<br>";
    }

    abgesehen davon, daß Christians Ansatz mit einer while-Schleife sinnvoller ist, frage ich mich, um welches Konstrukt es sich bei:

    $row[name]

    handelt? Wenn "name" ein Spaltenbezeichner der befragten Tabelle ist, sollte es dann nicht eher:

    $row['name']

    heißen?

    HTH Robert

    1. Ich glaub, dass ihr Recht habt, ich überdenke meine Funktion nochmal..

      Danke für die Lösungsansätze

      Gruß Georg

  3. Hallo Georg,
    neben dem was die anderen schon mitgeteilt haben, ist hier noch ein Haken:

    $num = mysql_numrows($result);

    richtig ist aber:
    $num = mysql_num_rows($result);
                    ^^
    Gruesse
    Ralf

  4. hallo,

    ich glaube das ist noch nicht gesagt worden

    statt:
    echo "Name : $row[name]<br>";

    muß es entweder:
    echo "Name : {$row['name']}<br>";
    oder:
    echo "Name : " . $row['name'] . "<br>";

    heißen...

    grüße
    FICHTL