numRows() liefert keine Werte

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

  • numRows() liefert keine Werte

    Hi,

    wenn ich mit folgendem Code eine Select-Anfrage stelle liefert numRows() immer nur ein "Object" .... egal ob diese (Anfrage) Ergebnisse bringt oder nicht (das tut sie wie ich mich überzeugt habe). Wie komme ich an die Anzahl nun ran? Ich brauche die Funktion eigentlich nur um zu testen ob der Datensatz schon in der DB ist. Gibt es vieleicht etwas ala: " .isNull() oder .isEmpty() " ?
    Es ist eine Oracle Datenbank. Daher habe ich auch die Options gesetzt. Hat aber nix geändert.

    Noch was: Wenn ich mich mit meinem normalen Login und Passwort über php angemeldet habe, konnte ich auch noch keine Anfragen stellen. Ich musste erst im DBMS die Tabelle(n) auf select-bar stellen. Woran liegt das ? Mein Account hat ja eigentlich alle Rechte auf die Datenbank.

    Danke.


    PHP-Code:

    <?php

    // Load the DB code
    require 'DB.php';

    // Connect to the database
    $dsn 'oci8:// :-)';

    $db = &DB::connect($dsn);
    if (
    PEAR::isError($db)) {
    die(
    $db->getMessage());
    }

    $db->setOption('portability',
    DB_PORTABILITY_NULL_TO_EMPTY DB_PORTABILITY_NUMROWS);
    if (
    PEAR::isError($db)) {
    die(
    $db->getMessage());
    }

    // Send a SELECT query to the database
    $sth $db->prepare('SELECT email FROM prj_teilnehmer WHERE email like ?');
    $res = & $db->execute($sth$_POST['p_email']);
    if (
    PEAR::isError($db)) {
    die(
    $db->getMessage());
    }

    echo 
    $res->numRows();

    ?>
    Zuletzt geändert von FooBarPaul; 01.06.2006, 00:50.

  • #2
    Wahrscheinlich bekommst du ein ErrorObject zurück, so wie es in der Dokumentation steht. print_r das Objekt doch mal.

    Kommentar


    • #3
      na gut , aber was sagt mir das jetzt?

      db_error Object ( [error_message_prefix] => [mode] =>
      1 [level] => 1024 [code] => -9 [message] =>
      DB Error: DB backend not capable [userinfo] =>
      SELECT email, pwd FROM prj_teilnehmer WHERE email like ? [backtrace] => Array ( [0] => Array ( [file] => /space/apache2/php/lib/php/DB.php [line] => 642 [function] => pear_error [class] => db_error [type] => -> [args] =>
      Array ( [0] => DB Error: DB backend not capable [1] =>
      -9 [2] => 1 [3] => 1024 [4] => SELECT email, pwd FROM prj_teilnehmer WHERE email like ? ) ) [1] =>
      Array ( [file] => /space/apache2/php/lib/php/PEAR.php [line] =>
      540 [function] => db_error [class] => db_error [type] => ->
      [args] => Array ( [0] => -9 [1] => 1 [2] => 1024 [3] =>
      SELECT email, pwd FROM prj_teilnehmer WHERE email like ? ) ) [2] => Array ( [file] => /space/apache2/php/lib/php/DB/common.php [line] =>
      298 [function] => raiseerror [class] => pear [type] =>
      :: [args] => Array ( [0] => [1] => -9 [2] => [3] => [4] =>
      SELECT email, pwd FROM prj_teilnehmer WHERE email like ? [5] => DB_Error [6] => 1 ) ) [3] => Array ( [file] => /space/apache2/php/lib/php/DB/oci8.php [line] => 277 [function] => raiseerror [class] => db_oci8 [type] => ->
      [args] => Array ( [0] => -9 ) ) [4] => Array ( [file] => /space/apache2/php/lib/php/DB.php [line] => 865 [function] => numrows [class] => db_oci8 [type] => -> [args] =>
      Array ( [0] => Resource id #10 ) ) [5] => Array ( [file] => /home/rrichte4/public_html/usrCheck.php [line] => 29 [function] => numrows [class] => db_result [type] => -> [args] => Array ( ) ) ) [callback] => )
      EDIT:
      byTobiaZ: Das geht auch ohne PHP-Tags, dafür darfste noch n paar Umbrüche hinzufügen!
      Zuletzt geändert von FooBarPaul; 01.06.2006, 12:51.

      Kommentar

      Lädt...
      X