Fehlermeldung von MySQL per PHP aufdröseln

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

  • Fehlermeldung von MySQL per PHP aufdröseln

    wenn man einen fehlerhaften Query an mysql abschickt, so bekommt man zum beispiel folgende meldung:
    PHP-Code:
    ERROR 1136 (21S01): Column count doesn't match value count at row 1 
    die 1136 fange ich per mysql_errno ab und die letzte mit mysql_error. aber was ist mit dem fünfstelligen zahlencode (21501), der ja wohl aus kompatibilitätsgründen (ansi-sql) eingebaut wurde. gibt es dafür auch eine php-funktion, um dem auszulesen. habe bisher leider dazu nichts gefunden.

    peter
    Zuletzt geändert von Kropff; 14.11.2008, 20:22.
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

  • #2
    PDO kann das. Selbst MySQLi konnte das schon. Für die (inzwischen nicht mehr im PHP-Kern enthaltene) mysql-Extension habe ich nichts gefunden.

    Kommentar


    • #3
      Gibt es imho für PHP(bzw. für standard mysql_, PDO kann das glaube ich) nicht. MySQL bietet zwar eine Funktion an (mysql_sqlstate()), diese ist in PHP(bei der mysql-extension) aber nicht enthalten.
      Zuletzt geändert von TheFish511; 14.11.2008, 20:33.
      Assembler ist eine Methode,
      Programme, die zu langsam laufen,
      so umzuschreiben,
      dass sie überhaupt nicht mehr laufen.

      Kommentar


      • #4
        erst mal danke für die antworten. pdo interessiert mich erst mal nicht. es geht nur um native funktionen von php. und mysqli kommt auch nicht in frage. stellt euch einfach vor, wir hätten das jahr 2003 .

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          PDO ist nativ in PHP.

          Kommentar


          • #6
            stellt euch einfach vor, wir hätten das jahr 2003 .
            PDO ist nativ in PHP.
            Im Jahre 2003 aber noch nicht.
            Assembler ist eine Methode,
            Programme, die zu langsam laufen,
            so umzuschreiben,
            dass sie überhaupt nicht mehr laufen.

            Kommentar


            • #7
              Original geschrieben von TheFish511
              Im Jahre 2003 aber noch nicht.
              Aber welchen Sinn soll das haben? Wir haben nun mal nicht 2003, sondern 2008.

              Kommentar


              • #8
                Original geschrieben von h3ll
                Aber welchen Sinn soll das haben? Wir haben nun mal nicht 2003, sondern 2008.
                OffTopic:
                Der Kropff akzeptiert sein Alter immer noch nicht und versucht daher immer aufs Neue sich verjüngern zu lassen ... sei doch froh, dass er nicht 1970 verlangt

                Kommentar


                • #9
                  Gabs damals schon ANSI? Sonst ignorier das doch auch einfach... *zuck*
                  *pro "Verbrennt den php4 source"-Partei*

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

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

                  Kommentar


                  • #10
                    2003 gab es immerhin schon die Beta von PHP 5.
                    Assembler ist eine Methode,
                    Programme, die zu langsam laufen,
                    so umzuschreiben,
                    dass sie überhaupt nicht mehr laufen.

                    Kommentar


                    • #11
                      Sorry, aber wenn es noch so ein Uralt-Code sein soll, dann wirst du wohl die Fehlermeldung entsprechend parsen müssen.

                      Kommentar


                      • #12
                        Original geschrieben von PHP-Desaster
                        Sorry, aber wenn es noch so ein Uralt-Code sein soll, dann wirst du wohl die Fehlermeldung entsprechend parsen müssen.
                        Ich glaub den Ansi-Fehler kriegt man in so altem Code gar nicht.
                        Das oben zitierte wird wohl die Ausgabe des cmd-Clients sein. Man hat ja in PHP nicht die Möglichkeit sich diesen String in der Form vollständig zurück geben zu lassen.

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

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

                        Kommentar


                        • #13
                          mir geht es nicht um uralt-code sondern um etwas prinzipielles. ich spezifiziere es mal. gibt es eine funktion in php außer dem weg über pdo, um die "ansi"-meldung zu bekommen. offenbar nicht. das ganze ist für ein dödel-tutorial, an dem ich gerade sitze. und da ist noch nichts mit oop.

                          Original geschrieben von asp2php
                          OffTopic:
                          Der Kropff akzeptiert sein Alter immer noch nicht und versucht daher immer aufs Neue sich verjüngern zu lassen ... sei doch froh, dass er nicht 1970 verlangt
                          OffTopic:
                          das musst du alter sack gerade sagen. du liegts doch auch schon bald in der kiste.


                          peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Kommentar

                          Lädt...
                          X