xstream: Stimmt dieser Quellcode?

Hallo

Stimmt dieser Programmierte Code? Es ist für ein Gästebuch gedacht, geht aber nicht. Es kommt immer Datenbank zugriff gescheitert!
<?php
@mysql_connect("localhost","zepich_zepich1","PASSWORT") or die("Verbindung konnte nicht hergestellt werden");
@mysql_select_db("guestbook") or die("Datenbank zugriff gescheitert!");
$sql1="SELECT * FROM guestbook";
$sql2="SELECT * FROM guestbook ORDER by id DESC LIMIT 0, 4";
$result1=mysql_query($sql1);
$zeilen=mysql_num_rows($result1);
$result2=mysql_query($sql2);
echo "<p>Anzahl der Einträge: $zeilen</p>\n";
while ($row=mysql_fetch_assoc($result2)) {
echo "<p><strong>1.</strong> " .
" <b>" . htmlspecialchars($row["Name"]) . "</b> " .
")<br>--> schrieb am " .
"<strong>" . nl2br(htmlspecialchars($row["Kommentar"])) . "</p><hr>\n";
}
mysql_close();
?>

  1. Hallo

    Stimmt dieser Programmierte Code? Es ist für ein Gästebuch gedacht, geht aber nicht. Es kommt immer Datenbank zugriff gescheitert!

    probier mal

    @mysql_select_db("guestbook") or die(mysql_error());

    damit solltest Du genauere Infos zu dem Fehler bekommen.

    Gruß Christoph

    <?php
    @mysql_connect("localhost","zepich_zepich1","PASSWORT") or die("Verbindung konnte nicht hergestellt werden");
    @mysql_select_db("guestbook") or die("Datenbank zugriff gescheitert!");

  2. <?php
    @mysql_connect("localhost","zepich_zepich1","PASSWORT") or die("Verbindung konnte nicht hergestellt werden");

    Du hast lokal eine DB installiert? und gestartet?

    @mysql_select_db("guestbook") or die("Datenbank zugriff gescheitert!");
    $sql1="SELECT * FROM guestbook";
    $sql2="SELECT * FROM guestbook ORDER by id DESC LIMIT 0, 4";
    $result1=mysql_query($sql1);
    $zeilen=mysql_num_rows($result1);

    Du machst hier folgendes, du lädst die komplette DB in den speicher um die anzahl der Einträge zu bekommen, keine Wunder das manche Skripte so langsam sind.
    Du kannst bei der Abfrage mit COUNT(feldName) as anzahl die Anzahl der vorhandenen Datensätze abfragen und überträgst dabei nur einen einzigen Datensatz.

    Du musst dir immer überlegen das bei mySQL zugriffe die Daten über einen Server laufen und evtl. Netzwerk übertragen werden müssen. d.h. du solltest immer so wenig wie möglich Daten übertragen.

    Struppi.