Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Fehlermeldung verstehen

Einklappen

Neue Werbung 2019

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

  • MySQL Fehlermeldung verstehen

    Seit längerer Zeit versuche ich ein Wiki-Plugin von Data Becker laufen zu lassen. Lokal läuft es, aber online erhalte ich immer diese Meldung:

    SLQ: INSERT INTO w2d6_wiki_users (username, password, email, viewemail, name, location, posts, registration, auth, banned, w2duser) VALUES ('admin', '6739b438c67fcd2386bb2cc737ae1204', '', '0', '', '', '0', '2010-07-31', '4', '', '1')
    Error: Incorrect integer value: '' for column 'banned' at row 1

    Ich bin absoluter Neuling. Vielleicht hat mir deshalb jemand einen Tipp, wo ich suchen muss, resp. woran es leigen könnte. Von Data Becker kommt keine grosse Hilfe, mein Provider mein, bei ihm sei auch alles i.O. Hmm, bin für jede Hilfe dankbar!

    Herzlich grüsst
    Daniel


  • #2
    Steht doch da
    Incorrect integer value: '' for column 'banned' at row 1
    Ein leerer String ist kein Integer. Da musst DU also suchen!
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      DAS habe ich auch gesehen, aber ... . Ich weiss, für jemanden der was von der Sache versteht, ist eine solche Frage wohl nicht nachvollziehbar, aber ich kann damit eben nichts anfangen (mit dem Risiko, dass man mich jetzt für "bescheuert" hält).

      Die Datenbank wurde neu erstellt, Einträge gibt's damit noch keine. Ich weiss jetzt, dass irgendwo keine Zahl übermittelt wird, sondern ein leerer String, was einen Fehler erzeugt. Warum funktioniert das Ganze lokal auf meinem PC aber nicht auf dem Server? Muss ich nun die entsprechende Zeile in einer PHP-Datei suchern und dort eine "1" hineinschreiben?

      Kommentar


      • #4
        Zitat von fishman Beitrag anzeigen
        Die Datenbank wurde neu erstellt, Einträge gibt's damit noch keine. Ich weiss jetzt, dass irgendwo keine Zahl übermittelt wird, sondern ein leerer String, was einen Fehler erzeugt. Warum funktioniert das Ganze lokal auf meinem PC aber nicht auf dem Server?
        Vermutlich auf Grund unterschiedlicher PHP-Versionen/unterschiedlicher Einstellungen - ich tippe am stärksten auf register_globals.

        Muss ich nun die entsprechende Zeile in einer PHP-Datei suchern und dort eine "1" hineinschreiben?
        Nein, das wäre höchstwahrscheinlich totaler Quatsch - da wird wohl vermutlich ein Wert aus einer Nutzereingabe erwartet, und den jetzt fest im Script zu setzen, wäre Unfug.

        Kommentar


        • #5
          Muss ich nun die entsprechende Zeile in einer PHP-Datei suchern und dort eine "1" hineinschreiben?
          Gnihi- was soll das denn sein? Die Basislösung für alle Typenprobleme? Huch - mein Bit ist umgekippt.

          Ich weiss, für jemanden der was von der Sache versteht, ist eine solche Frage wohl nicht nachvollziehbar, aber ich kann damit eben nichts anfangen (mit dem Risiko, dass man mich jetzt für "bescheuert" hält).
          Dann solltest Du auch nicht am System rumfingern. Auch wenn Du das sicher nicht hören willst.
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar


          • #6
            he, he ... hoffe Du hast Dich wieder erholt

            Du hast ja völlig recht, wenn man nichts versteht, sollte man die Finger davon lassen (würde ich wohl auch jedem so sagen).

            Damit Du Du mich etwas besser verstehst: ich habe mit dem CMS von Data Becker (web-2-date) eine Webseite erstellt, die einfach zu verwalten ist. Dazu habe ich ein Plugin gekauft, mit welchem man einfach ein Wiki einhängen kann. Betonung auf "einfach".

            Da mir niemand weiterhelfen kann/will, versuche ich mich halt selber daran. Da ist der Grund. Wenn's nichts wird, dann sei es so.

            Danke trotzdem, dass Du Dir ein paar Gedanken gemacht hast.

            Kommentar


            • #7
              Das Problem ist, wir können anhand der gegebenen Informationen ja auch nur die Symptome benennen. Die Variable, die die Query an der angemeckerten Stelle bestimmt ist eben falsch gesetzt. Das Warum bedarf dann einer weiteren Analyse.
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Zitat von fishman Beitrag anzeigen

                SLQ: INSERT INTO w2d6_wiki_users (username, password, email, viewemail, name, location, posts, registration, auth, banned, w2duser) VALUES ('admin', '6739b438c67fcd2386bb2cc737ae1204', '', '0', '', '', '0', '2010-07-31', '4', '', '1')
                Error: Incorrect integer value: '' for column 'banned' at row 1
                Welche Datenbank hast Du da im Einsatz? MySQL?
                Wenn MySQL, dann mal bitte folgendes ausführen:

                Code:
                mysql>SHOW CREATE TABLE w2d6_wiki_users;
                Anhand der Tabellenstruktur läßt sich am Besten erkennen, was für ein Datentyp für die Spalte 'banned' festgelegt wurde.

                Grüße
                Thomas

                Kommentar


                • #9
                  Du meinst diese Angabe?

                  CREATE TABLE {TABLE_PREFIX}users (
                  user_id integer NOT NULL PRIMARY KEY,
                  username varchar(20) NOT NULL,
                  password varchar(32) NOT NULL,
                  email varchar(50) NOT NULL,
                  viewemail tinyint(1) NOT NULL,
                  name varchar(30) default NULL,
                  location varchar(30) default NULL,
                  birthday date default NULL,
                  signature varchar(100) default NULL,
                  avatar varchar(50) default NULL,
                  posts smallint(6) NOT NULL default '0',
                  registration date NOT NULL,
                  lastvisit datetime default NULL,
                  lastaction datetime default NULL,
                  auth tinyint(1) NOT NULL,
                  banned tinyint(1) NOT NULL,
                  lkey varchar(32) default NULL,
                  w2duser tinyint(1) NOT NULL default '0');

                  Kommentar


                  • #10
                    Als INT. Steht schon schon in der Meldung. Und
                    banned, w2duser) .. '', '1')
                    steht auch drin. An dieser Stelle brauchen wir nicht weiter rumrätseln..
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      Code:
                      INSERT INTO w2d6_wiki_users
                       (username, password, email, viewemail, name, location, posts, registration, auth, banned, w2duser)  VALUES
                       ('admin', '6739b438c67fcd2386bb2cc737ae1204', '', '0', '', '', '0', '2010-07-31', '4', 42, '1')
                      Die Spalte 'banned' kann also nur integer Werte annehmen. Ich habe mal 42 reingeschrieben.

                      Grüße
                      Thomas

                      Kommentar


                      • #12
                        Und wem soll das jetzt was bringen? Wohin mit der Info? Btw. ist das Feld TINY INT. Kommt also max. auf 1.
                        --

                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                        --

                        Kommentar


                        • #13
                          Zitat von nikosch Beitrag anzeigen
                          Und wem soll das jetzt was bringen? Wohin mit der Info? Btw. ist das Feld TINY INT. Kommt also max. auf 1.
                          Na mal auf jeden Fall Dir. Jeder darf hier mal was dazu lernen.

                          Code:
                          mysql> CREATE TABLE test_tiny (
                              ->  banned tinyint(1) NOT NULL
                              -> );
                          Query OK, 0 rows affected (0.21 sec)
                          
                          mysql>
                          mysql> INSERT INTO test_tiny VALUES (42);
                          Query OK, 1 row affected (0.05 sec)
                          
                          mysql>
                          mysql> SELECT * FROM test_tiny;
                          +--------+
                          | banned |
                          +--------+
                          |     42 |
                          +--------+
                          1 row in set (0.01 sec)
                          
                          mysql>
                          Grüße
                          Thomas

                          Kommentar


                          • #14
                            Meinetwegen. Trotzdem wird der TE jetzt wohl kaum ne 42 in seine Query schreiben.
                            --

                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                            --

                            Kommentar


                            • #15
                              Ich bin einen Schritt weiter (immerhin).

                              Mit der Trialversion von "Navicat for MySQL" habe ich die Tabelle editiert und bei "banned" eine "0" 'reingeschrieben. Das wurde so angenommen, heisst, auf der Webseite kommt nun kein Fehler, ich kann mich einloggen und Beiträge verfassen. Aber (...): Trägt sich dort ein neuer User ein, ist die Fehlermeldung prompt wieder da. Ich muss jetzt einfach wohl suchen, wo ich einen Vorgabenwert ändern muss, damit dies nicht passiert.

                              Probieren ist angesagt

                              Kommentar

                              Lädt...
                              X