Ankündigung

Einklappen
Keine Ankündigung bisher.

phpScript hängt sich auf

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast erstellte das Thema phpScript hängt sich auf.

    phpScript hängt sich auf

    Wertes Forum,

    folgende Situation:

    Habe eine MySQL Datenbank die in einer config.db.php angesprochen wird.
    Dort wird auch eine Fehlerabfrage gemacht, mit Anzeige der Fehlermeldung.

    In einer anderen Datei wird die config.db.php includiert.
    Und eine MySQL-Abfrage gemacht. Wenn die config.db.php nicht verbinden kann. Hängt sich das Script auf.

    Wie schreibe ich das Script unten um, so das es sich nicht aufhängt.
    ? Fehlt dort eine If Anweisung?


    PHP-Code:
    <?php
    // Aktuelle Berichte einbinden

    // Datenbank einbinden
    include("config.db.php");

    // Anzahl letzten der Berichte die Angezeigt werden sollen
    $anzahl="3";

    //Auslesen der Datenbank

    $list mysql_query("SELECT * FROM $tabelle ORDER BY time DESC LIMIT $anzahl");
    while(
    $row mysql_fetch_array($list)) {

     
    $id $row[0];
     
    $teaser $row[1];
     
    $datum $row[5];


    //Anzeige der Berichte

    echo "[b][size="1"]$datum [/size] $teaser [/b]<a href=\"index.php?doc=berichte/berichte2005#id_$id\">[size="1"]mehr[/size]
    </a>"
    ;

      }

    ?>
    Danke für eure Hilfe

    Michael

  • Gast-Avatar
    Ein Gast antwortete
    Dann habe ich ja Glück gehabt.

    Dennoch danke für die Hilfe

    Michael

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    sorry, mein fehler [hatte mir das nicht richtig angesehen], kannst du so machen

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    was hat die "die Abfrage" im ersten if für einen vorteil?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von karl-150
    @phpfan:
    hättest du dir den thread mal durchgelesen wüsstest du, dass er genau davon wegwill
    er möchte, dass das skript - was da auch immer noch kommen mag - zuende läuft
    Ups,

    Gruß
    phpfan

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    @phpfan:
    hättest du dir den thread mal durchgelesen wüsstest du, dass er genau davon wegwill
    er möchte, dass das skript - was da auch immer noch kommen mag - zuende läuft

    @trusty: so machst du es am besten nicht, besser die db-abfrage in den ersten if-block

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Warum benutzt ihr nicht die Funktion die? Wenn die Verbingung nicht funktioniert hat oder die Datenbank nicht vorhanden ist, kann das Script doch beendet werden. Da kann man sich das if doch sparen.

    Gruß
    phpfan

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ich glaube ich mache es so:

    PHP-Code:
    <?php
    if (!($db = @mysql_connect($host$user$password))) {
            echo 
    'Verbindungsaufnahme zum Datenbankserver fehlgeschlagen!
    '
    ;

    } else if (!(@
    mysql_select_db($database$db))) {
                   echo 
    'Datenbank wurde [b]NICHT[/b] gefunden.';
    }
    ?>
    Trotzdem danke

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    das wollte ich übrigens hiermit sagen
    Zitat von karl-150
    natürlich die if-abfrage am besten über den ganzen teil, wo du auf die db zugreifst, anwenden, sonst werden ja alle fehlermeldungen ausgegeben
    in etwa so ändern:
    PHP-Code:
    <?php
    if ($db = @mysql_connect($host$user$password)) {
    /*hier alles zwischenpacken, was ausgeführt werden soll, wenn verbindung zu server erfolgreich*/
    }
    else
      echo 
    'Verbindungsaufnahme zum Datenbankserver fehlgeschlagen!
    '
    ;
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Nun das Script läuft, allerding nicht so zumeiner kompletten Zufriedenheit.

    Wenn der Server erreichbar ist und die Datenbank auch, ist alles ok.
    Nur wenn der Server nicht erreichbar ist, steht auch in der Ausgabe das die Datenbank nicht erreichbar ist. Stimmt ja auch, aber ist nicht ganz richtig da die Abfrage gar nicht richtig ausgeführt werden konnte. Da kein zugriff zum Server erfolgte.
    Nun wie kann eine Regel geschrieben werden.

    Wenn Zugriff zum Server, dann Abfrage ob Datenbank erreichbar, wenn ja dann weiter.
    Wenn kein Zugriff zum Server Ausgabe der Meldung und weiter.
    Wenn Zugriff zum Server und kein zugriff zur Datenbank ausgabe Meldung und weiter.

    Hoffe man versteht mein Problem.
    Das jetzige Script lautet, siehe unten.
    PHP-Code:
    <?php
    if (!($db = @mysql_connect($host$user$password)))
    echo 
    'Verbindungsaufnahme zum Datenbankserver fehlgeschlagen!
    '


    if (!(@
    mysql_select_db($database$db)))
    echo 
    'Datenbank wurde [b]NICHT[/b] gefunden.'

    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ha jetzt ja,

    danke für die mithilfe.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    das @ hast du ja selbst verwendet, aber trotzdem => fehlerunterdrückung
    das ! invertiert die aussage, sprich aus TRUE wird FALSE und umgekehrt

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Danke für die Hilfe.

    Muss natürlich den Text der zweiten Abfrage noch anpassen. Da so einmal Nein, Nein und Ja steht.

    Das stimmt natürlich nicht.

    Ist ja nur Nein und Nein.

    Wenn Zugriff zu MySQL nicht steht.

    Nun noch etwas, für was steht eigendlich das "!" und das "@"?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    huch, die zweite abfrage ist natürlich falsch, so muss sie aussehen:
    PHP-Code:
    <?php
    if (!(@mysql_select_db($database$db))) echo '- Datenbank wurde [b]NICHT[/b] gefunden.
    - Verbindungsaufnahme zum Datenbankserver war erfolgreich!
    '
    ;
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Irgendwie habe ich das mit den if-Schleifen noch nicht verstanden.

    Jedenfall hat es nicht geklappt, oder was ist mit der if-abrage gemeint.

    Nun die Fehlermeldungen sollen nur ausgegeben werden, wenn ein Fehler auftritt sonst nicht.

    Die erste Prüfung soll natürlich sein ist ein Zugriff auf den mysql server überhaupt möglich.
    Danach natürlich, ob überhaupt die Datenbank vorhanden ist.

    Dies soll in der config.db.php stehen. Da ich es mehrfach auf der website brauche.
    Das obrige Script macht die Abfrage, und wird wiederum in eine Seite eingebunden.

    Einen Kommentar schreiben:

Lädt...
X