beste mysql_error formulierung

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

  • beste mysql_error formulierung

    Hallo!

    Bevor ich hier viel mit irgendwelchen Fehlermeldungen um mich werfe eine Frage vorab zum mysql_error Befehl.

    Wie kann ich diesen am sinnvollsten Formulieren??

    Auf php.net habe ich diesen Eintrag gefunden:
    PHP-Code:
    echo mysql_errno() . ": " mysql_error() . "\n"
    Ganz verstehe ich diesen aber leider nicht, und es bringt mir als Anfänger nicht, diesen Code immer wieder einzubauen, wenn ich ihn nicht verstehe. Stimmt ihr mir wohl zu.

    mysql_errno() bedeutet ja, dass die Fehlernummer der zuletzt ausgeführten mysql-funktion ausgegeben wird. Bedeutet das z.B. dass die Zahl XXXX für Server-Timeout steht, sprich eine Hilfe zur Eingrenzung der Fehlermeldung?

    Error gibt dann den engl. Fehlertext aus. Ist soweit klar.

    Noch 2 komplette noob fragen, die ich aber gerne wissen würde (sonst nervt man euch damit ja ständig...)
    Die Punkte, warum kommen die vor und nach die " Zeichen und was bedeutet \n am Ende??

    Bitte nicht gleich sauer sein über diese noob Fragen.

    bis denn,
    akrab

    btw: Welches Handbuch (offline^^) könnt ihr mir für den sinnvollen Einstieg in PHP empfehlen??

  • #2
    Die Punkte, warum kommen die vor und nach die " Zeichen und was bedeutet \n am Ende??
    Mit den Punkten kannst du Vars zu strings zusammenfügen. Du fügst errorno und error mit einem Doppelpunkt zu einem String zusammen.
    \n ist das Zeilenende (newLine) bei Linux Systemen (\r\n bei Win --> Carriage Return Line feed)

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      aso, danke!
      Dann heisst das hier also ganz grob übersetzt:

      Gib mysql_errno() aus UND mach dann einen Doppelpunkt UND gib dann mysql_error() aus UND gib dann das Zeilenende an.

      Das \n kann ich dann beruhigt weglassen, oder?

      achja, wie formuliere ich das als die() funktion?? denn sonst würde errno immer mit 0: ausgegeben werden.
      Zuletzt geändert von akrab; 05.07.2005, 08:26.

      Kommentar


      • #4
        Wie wäre es einfach echo mit die auszutauschen:
        PHP-Code:
        die(mysql_errorno().": ".mysql_error()); 
        Das Manual hätte diese Info bestimmt auch enthalten

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          hatte es gerade jefunden
          Sorry, war zu eilig mit dem posten. halte mich nun zurück

          Hab es so:

          $ergebnis=mysql_query($abfrage)
          or die(mysql_errno() . ": " . mysql_error());

          Gibts einen Unterschied zw. errorno und errno ??
          Zuletzt geändert von akrab; 05.07.2005, 08:41.

          Kommentar


          • #6
            Sorry habe mich vertippt. Sollte korrekterweise auch mysql_errno() heissen.

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              aso, okay!
              Das wars dann auch soweit! Dank dir für deine Hilfe!

              Achja, wenn mir noch jemand ein gutes offline Handbuch empfehlen kann, bitte hier posten.

              Online nutze ich nebenbei php.net, das hilft sehr weiter.

              Gruß,
              akrab

              Kommentar


              • #8
                Du kannst php.net auch auf deinen PC runterladen
                Du schauen hier

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Danke

                  Was besagt mir dieser Fehler??

                  1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$abfrage' at line 1
                  Kann man diese Fehler-Nummer irgendwo nachsehen??

                  Gruß,
                  akrab

                  Kommentar


                  • #10
                    PHP-Code:
                    mysql_query($abfrage)
                    // oder
                    mysql_query("$abfrage")
                    // aber niemals
                    mysql_query('$abfrage'
                    http://www.php.net/string
                    http://dev.mysql.com/doc/mysql/en/error-handling.html

                    Kommentar


                    • #11
                      Aha, danke danke! Nu gehts auch. Dache die ' Zeichen wären stets erlaubt... EDIT: was red ich , hab ich doch sonst auch net benutzt...
                      Werd mir die beiden Links durchlesen!

                      Thx!

                      Gruß,
                      akrab
                      Zuletzt geändert von akrab; 05.07.2005, 18:36.

                      Kommentar


                      • #12
                        Original geschrieben von akrab
                        Achja, wenn mir noch jemand ein gutes offline Handbuch empfehlen kann, bitte hier posten.
                        Suche einfach mal hier im Forum, das sollte dir einige Tips bringen...

                        Btw: Kein SQL Problem sondern eher PHP-Probleme ... würde nen *move* vorschlagen
                        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                        var_dump(), print_r(), debug_backtrace und echo.
                        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                        Kommentar


                        • #13
                          Original geschrieben von Shurakai
                          Btw: Kein SQL Problem sondern eher PHP-Probleme ... würde nen *move* vorschlagen
                          einverstanden. ;-)
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #14
                            Wo wir gerade bei den Punk-Operatoren waren.
                            Kann ich bei einem mysql_query befehl auch 2 inserts für verschiedene Tabellen in einer DB machen??

                            Z.B. so:

                            PHP-Code:
                            mysql_query("insert into test set 1='$1'"."insert into test2 set 2='$2'"); 
                            oder wäre es besser daraus 2 mysql_query machen??
                            Beim abschicken eines Formulars sollen daten in 2 Tabellen gespeichert werden.

                            Gruß,
                            akrab

                            Kommentar


                            • #15
                              Original geschrieben von akrab
                              Kann ich bei einem mysql_query befehl auch 2 inserts für verschiedene Tabellen in einer DB machen??
                              PHP-Code:
                              mysql_query("insert into test set 1='$1'"."insert into test2 set 2='$2'"); 
                              das ist auf jeden fall unsinn - in mySQL trennt man zwei befehle durch ein semikolon voneinander ab, das fehlt bei dir völlig.

                              aber auch wenn du eins reinmachst, geht es über mysql_query nicht - weil das jeweils nur eine anweisung an die DB übergeben kann.


                              und jetzt wäre es langsam mal schön, wenn du dir erst mal ein wenig mehr grundlagenwissen aneignest, anstatt alle nase lang unsinnige "könnte man nicht ..., ich hätte mir das so gedacht ..."-fragen zu stellen.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X