Frage

Nur eine kurze Frage. Sprich ein Aufruf einer Methode, wie so

mysql_pconnect("server","tator_w","password")
               or die("Unable to connect to SQL server");

Kann ich die ‚sterben‘ eher eine Methode aufrufen, um eine Textnachricht angezeigt werden? Wenn ja, wie?

War es hilfreich?

Lösung

Sie würden besser sein, eine if-Anweisung verwenden, anstatt sich auf Auswertung Kurzschluss, wenn Sie etwas komplizierter, beispiels tun wollen.

if (!mysql_pconnect("server","tator_w","password")) {
    call_a_function();
    //some other stuff
    die(); //if you still want to die
}

Andere Tipps

register_shutdown_function()

Damit können Sie eine Funktion registrieren, wenn das System Exits aufgerufen werden. Dann können Sie einfach ohne Parameter die() oder exit(), die Ihre Methode aufrufen wird.

(Sie können auch feststellen, set_error_handler () interessant wenn etwas nicht verwandte)

Nun, nicht ganz, aber Sie gerade tun

if(!mysql_pconnect("server","tator_w","password")) {
    $some_obj->some_method();
    exit(1);
}

Warum nicht nur in einem Funktionsaufruf setzen, die einen String zurückgibt?


function myDieFunction()
{
     // do some stuff

     return("I died!");
}

die(myDieFunction());

Oder Sie könnten die Abschaltfunktion registrieren

Eine andere (aber nicht so schön) Art und Weise:

mysql_pconnect("server","tator_w","password")
    or foo() & bar() & die("Unable to connect to SQL server");

Beachten Sie den binären Operator & anstelle eines Booleschen Operator alle Funktionen aufgerufen haben.

Um nicht zu der Datenbank verbinden zu können, ist wahrscheinlich ein schwerwiegendes Problem - ich habe es ein Hauptziel für die Verwendung von Ausnahmen berücksichtigen

.

Wenn Sie nicht in der Lage sind, in die Datenbank verbinden das Problem muss wohl zart behandelt werden, und Sie wollen wahrscheinlich etwas über loggen sein, was schief gelaufen ist, und wo es schief gelaufen Lage sein, Ihren Code besser zu machen das zu vermeiden, Problem in der Zukunft.

Nur eine schnelle Skizze auf eine Art und Weise Ausnahmen zu verwenden.

Datei view_cart.php

<?php
try
{
    require_once('bootstrap.php');
    require_once('cart.php');

    require('header.php');


    // Get the items in the cart from database
    $items = Cart::getItems();

    // Display them to the user
    foreach ($items as $item)
    {
        echo $item->name.', '$item->price.'<br />';
    }
}
catch (Exception $e)
{
    // Log the exception, it will contain useful info like
    // the call stack (functions run, paramaters sent to them etc)
    Log::LogException($e);

    // Tell the user something nice about what happened
    header('Location: technical_problem.html');
}

require('footer.php');

Datei bootstrap.php

<?php
$result = mysql_pconnect("server", "tator_w", "password");
if ($result === false)
{
    throw new Exception('Failed to connect to database');
}

// Select database
// Setup user session
// Etc
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top