PDO: keine Fehlerausgabe

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

  • PDO: keine Fehlerausgabe

    Hallo zusammen!

    Warum gibt PDO bei mir NIE Fehler aus? Z.B. bei folgendem Code:

    PHP-Code:
    $db = new PDO('mysql:host='.$host.';dbname='.$dbname$user$pass);    
    $dbres $db->prepare("SELECT * FROM `table` WHERE id`= 5");   
    $error $db->errorInfo(); 
    print_r($error); 
    Ich habe absichtlich ein Hochkomma vor "id" weggelassen, aber die Ausgabe ist ganz einfach:
    Array ( [0] => 00000 )
    Warum? Ich nutzt PHP5 mit MySQL5.

    Danke, Markus

  • #2
    kenn mich nicht groß mit pdo aus, aber warum absichtlich ein hochkomma vor id weggelassen?

    muss 'table' in hochkommata stehen?
    **********
    arkos
    **********

    Kommentar


    • #3
      ...weil ja ein Fehler in der query sein muss, damit das script auch einen Fehler ausgibt. Nur wird der Fehler nicht ausgegibt, und ich will wissen, warum

      Kommentar


      • #4
        haste error reporting an?

        was passiert denn, wenn du das sql-statement direkt über die konsole abschickst?
        **********
        arkos
        **********

        Kommentar


        • #5
          im netz gefunden... kann das sein?


          Zudem erwähnt die PDO-Dokumentation konsequent nur die MySQL-Versionen 3 und 4, nicht aber MySQL 5.
          **********
          arkos
          **********

          Kommentar


          • #6
            und noch was gefunden:

            Beware: Some MySQL table types (storage engines) do not support transactions. When writing transactional database code using a table type that does not support transactions, MySQL will pretend that a transaction was initiated successfully. In addition, any DDL queries issued will implicitly commit any pending transactions.
            http://www.php-resource.de/manual.php?p=ref.pdo-mysql
            **********
            arkos
            **********

            Kommentar


            • #7
              Mir fehlt da ein $db->execute()! Das DBMS hat die vorbereitete Query evtl. schon analysiert und optimiert, die Fehlerbehandlung springt aber sicher erst an, wenn etwas ausgeführt werden soll. Bis dahin könnten Syntaxfehler schließlich noch durch Replacements korrigiert werden.
              (Alles geraten, weiß nicht genau, wie MySQL mit prepared Queries umgeht.)

              Kommentar


              • #8
                Selbst MIT execute bekomme ich keine Fehlermeldung, allerdings dachte ich immer, dass bereits "prepare" fehler ausgibt.
                Zuletzt geändert von markusk; 06.07.2006, 11:55.

                Kommentar


                • #9
                  oh mist.. .ich weiß den Fehler. Es muss ein execute dazwischen UND es muss $dbres->errorInfo() heißen, nicht $db->...

                  Danke trotzdem für eure Hilfen!

                  Kommentar


                  • #10
                    vergiss PDO ... das Ding ist so bugfällig wie ein Wald ~_~
                    Prepared Statements ... vielleicht erbt PDO da von der mysqli-Erweiterung auch noch den Fehler mit den Lib-Versionen, dann werden die Erweiterungen immer toller

                    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                    Wie man Fragen richtig stellt

                    Kommentar


                    • #11
                      bugfällig? wie kommst du darauf?

                      Kommentar


                      • #12
                        Original geschrieben von markusk
                        bugfällig? wie kommst du darauf?
                        Zum Beispiel durch solche Schoten
                        http://bugs.php.net/bug.php?id=35793

                        Eventuell kommen solche Schoten dann auch noch dazu
                        http://www.php-resource.de/forum/sho...threadid=72363

                        Und irgendwann erreicht man einen Stand wo ich behaupte, dass man eine Extension in die Tonne kloppen kann.

                        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                        Wie man Fragen richtig stellt

                        Kommentar

                        Lädt...
                        X