steffen: methode in function aufrufen

Hallo zusammen

ich nutze pearDB und es funktioniert alles wunderbar. nun möchte ich in dem script in dem ich pearDB einsetze aus einer neuen funtion auf die pearDB methoden zugreifen, etwa so:

require_once 'DB.php';

function initialize_new_thread()
{
    $name                    = "test";
    $email                   = "test";
    $subject                 = "test";
    $message                 = "test";
    $sql_insert_new_message = "INSERT INTO message (name, email, message, datum) VALUES ('$name','$email', '$message',now())";
    $res_insert_new_message = $db->query($sql_insert_new_message);
return;
}

nun bekomme ich in der zeile wo "$db->query..." steht folgenden fehler:

Fatal error: Call to a member function on a non-object in index.php on line ..

wie kann ich pearDB der funktion bekannt machen?? ist wahrscheinlich ganz einfach, habe aber nichts dazu finden können...

vielen dank!

steffen

  1. Hi Steffen,

    nun bekomme ich in der zeile wo "$db->query..." steht folgenden fehler:

    Fatal error: Call to a member function on a non-object in index.php on line ..

    Nun, das bedeutet einfach, dass wohl $db kein Objekt ist.('non-object'). Und du versuchst eben eine Funktion einer Klasse aufzurufen ($db->query), was aber nicht gehn kann, weil ja $db kein Objekt ist.
    Vergessen, $db zu instanzieren(richtiger ausdruck hoffe ich), also z.B. $db = new DB();

    mfg
    Philipp

  2. Hallo!

    require_once 'DB.php';

    function initialize_new_thread()
    {
        $name                    = "test";
        $email                   = "test";
        $subject                 = "test";
        $message                 = "test";
        $sql_insert_new_message = "INSERT INTO message (name, email, message, datum) VALUES ('$name','$email', '$message',now())";
        $res_insert_new_message = $db->query($sql_insert_new_message);
    return;
    }

    nun bekomme ich in der zeile wo "$db->query..." steht folgenden fehler:

    Fatal error: Call to a member function on a non-object in index.php on line ..

    function initialize_new_thread($db)
       {
          ...
       }

    initialize_new_thread($db)

    Übergebe die Variable des Objektes.

    MfG, André Laugks

    --
    L-Andre @ gmx.de
    1. Hallo!

      function initialize_new_thread($db)
         {
            ...
         }

      initialize_new_thread($db)

      Übergebe die Variable des Objektes.

      Du hast natürlich zuvor ein Objekt initialisiert.

      $db = new ClassName;

      MfG, André Laugks

      --
      L-Andre @ gmx.de