[MySQL 3.23.X] kurze Frage für zwischendurch :)

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

  • [MySQL 3.23.X] kurze Frage für zwischendurch :)

    Hallo zusammen,

    ich komm grade bei diesem Statement nicht weiter...

    Table-Def:
    Code:
    CREATE TABLE d2ngames_teilnehmer (
      id int(11) NOT NULL auto_increment,
      name varchar(30) default NULL,
      classid int(11) default NULL,
      level int(11) default NULL,
      modusid int(11) default NULL,
      difficultyvonid int(11) default NULL,
      difficultybisid int(11) default NULL,
      wasid int(11) default NULL,
      ortstartid int(11) default NULL,
      ortendeid int(11) default NULL,
      datum datetime,
      zeitvon int(2) default NULL,
      zeitbis int(2) default NULL,
      game varchar(50) default NULL,
      passwort int(11) default NULL,
      PRIMARY KEY  (id)
    ) TYPE=MyISAM;
    PHP-Code:
    $sql "
    insert into d2ngames_teilnehmer 
      (id, 
       name, 
       classid, 
       level, 
       modusid, 
       difficultyvonid, 
       difficultybisid, 
       wasid, 
       ortstartid, 
       ortendeid, 
       datum, 
       zeitvon, 
       zeitbis, 
       game, 
       passwort) 
    values
    ('',
    '"
    .$charname."', 
    "
    .$class.", 
    "
    .$level.", 
    "
    .$modus.", 
    "
    .$difficultyvon.", 
    "
    .$difficultybis.", 
    "
    .$was.", 
    "
    .$ortstart.", 
    "
    .$ortende.", 
    "
    .$datum.", 
    "
    .$zeitvon.", 
    "
    .$zeitbis.", 
    '"
    .$game."', 
    "
    .$passwort.")"
    da bekomm ich immer einen Fehler (mysql_error()), der mir sagt ich möchte mein Handbuch zu Rate ziehen, weil in der Nähe der Stelle
    Code:
    '17:36:08, 1, 1, 'jjjj', 166259)'
    (das sind die Felder Datum bis Passwort) ein Fehler sei.

    Wenn ich im Statement jetzt das ...".$datum.", ... durch \"$datum\" ersetze, gibts keinen Fehler mehr, aber es werden in das Datumsfeld nur Nullen eingetragen... bin grade etwas ratlos wieso. Wäre super, wenn da jemand ne Idee hätte, und evtl. mir auch den Unterschied zwischen den beiden Varianten kurz klarmachen könnteß Hatte das bisher immer für gleichwertig gehalten, aber da lag ich wohl falsch.

    Vielen Dank schonmal und einen schönen Dienstag abend,
    Gruß P2oldi

  • #2
    Re: [MySQL 3.23.X] kurze Frage für zwischendurch

    Original geschrieben von P2oldi
    da bekomm ich immer einen Fehler (mysql_error()), der mir sagt ich möchte mein Handbuch zu Rate ziehen, weil in der Nähe der Stelle
    Code:
    '17:36:08, 1, 1, 'jjjj', 166259)'
    (das sind die Felder Datum bis Passwort) ein Fehler sei.
    na logisch, oder ist 17:36:08 etwa eine zahl?
    Wenn ich im Statement jetzt das ...".$datum.", ... durch \"$datum\" ersetze, gibts keinen Fehler mehr, aber es werden in das Datumsfeld nur Nullen eingetragen...
    $datum ist bei dir also nur "17:36:08", wenn ich dich recht verstehe?
    (du sagst ja, 1, 1, 'jjjj', 166259 wären schon die felder zeitvon bis passwort).

    hältst du 17:36:08 wirklich für eine datumsangabe? ich nicht.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Re: [MySQL 3.23.X] kurze Frage für zwischendurch

      probier doch mal

      PHP-Code:
      ".$ortende."
      '".$datum."'
      ".$zeitvon."
      haut mich, aber $datum ist IMHO kein integer
      (-:
      Bookmarks:·Bilder·Jobs·Recht·
      kostenloser Webkataloge-Assistent

      Kommentar


      • #4
        mache mal ...[php]echo '<pre>.'$sql.'</pre>';[/code] ... und poste die ausgabe.

        auch würde ich gerne wissen, was die mysql_error() ausgegeben hat.
        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


        • #5
          @wahsaga: liegt das nicht daran, daß er immer nur einen bestimmten Teil des Statements angibt (Zeichenbegrenzt), und deshalb nun grade die Zeitangabe die zum Datum gehört, da steht?

          SQL-Error:
          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 '18:02:09, 1, 1, 'egal', 490938)' at line 1

          @Abraxax:
          Code:
          insert into d2ngames_teilnehmer (id, name, classid, level, modusid, difficultyvonid, difficultybisid, wasid, ortstartid, ortendeid, datum, zeitvon, zeitbis, game, passwort) values ('', 'Testchar', 1, 1, 1, 1, 1, 1, 1, 1, 18-11-2003 18:02:09, 1, 1, 'egal', 862929)

          Kommentar


          • #6
            schaue dir doch mal deine query an.
            Code:
            insert
                into d2ngames_teilnehmer
                        (id, name,       classid, level, modusid, difficultyvonid, difficultybisid, wasid, ortstartid, ortendeid, datum,               zeitvon, zeitbis, game,   passwort )
                values  ('', 'Testchar', 1,       1,     1,       1,               1,               1,     1,          1,         18-11-2003 18:02:09, 1,       1,       'egal', 862929   )
            und das datumsfeld MUSS zwingend ' drum.
            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


            • #7
              Original geschrieben von P2oldi

              SQL-Error:
              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 '18:02:09, 1, 1, 'egal', 490938)' at line 1

              @Abraxax:
              Code:
              insert into d2ngames_teilnehmer (id, name, classid, level, modusid, difficultyvonid, difficultybisid, wasid, ortstartid, ortendeid, datum, zeitvon, zeitbis, game, passwort) values ('', 'Testchar', 1, 1, 1, 1, 1, 1, 1, 1, 18-11-2003 18:02:09, 1, 1, 'egal', 862929)
              [/B]
              was hälst du davon, wenn du einfach ein paar zeilenumbrüche
              in deinem sql-code machst? - dann bekommst du sogar ne zeilennummer > 1

              z.b.:
              PHP-Code:
              $sql "
              insert into d2ngames_teilnehmer 
                (id, 
                 name, 
                 classid, 
                 level, 
                 modusid, 
                 difficultyvonid, 
                 difficultybisid, 
                 wasid, 
                 ortstartid, 
                 ortendeid, 
                 datum, 
                 zeitvon, 
                 zeitbis, 
                 game, 
                 passwort) 
              values
              ('',
              '"
              .$charname."', 
              "
              .$class.", 
              "
              .$level.", 
              "
              .$modus.", 
              "
              .$difficultyvon.", 
              "
              .$difficultybis.", 
              "
              .$was.", 
              "
              .$ortstart.", 
              "
              .$ortende.", 
              "
              .$datum.", 
              "
              .$zeitvon.", 
              "
              .$zeitbis.", 
              '"
              .$game."', 
              "
              .$passwort.")";

              -------------------------------------------------------------------------------- 
              (-:
              Bookmarks:·Bilder·Jobs·Recht·
              kostenloser Webkataloge-Assistent

              Kommentar


              • #8
                PHP-Code:
                insert into d2ngames_teilnehmer 
                    
                (id
                    
                name
                    
                classid
                    
                level
                    
                modusid
                    
                difficultyvonid
                    
                difficultybisid
                    
                wasid
                    
                ortstartid
                    
                ortendeid
                    
                datum
                    
                zeitvon
                    
                zeitbis
                    
                game
                    
                passwort
                    
                values 
                    
                (''
                    
                'neuertest'
                    
                1
                    
                1
                    
                1
                    
                1
                    
                1
                    
                1
                    
                1
                    
                1
                    
                '18-11-2003 18:11:30'
                    
                1
                    
                1
                    
                'jjjjj'
                    
                161750
                verursacht keinen Fehler mehr, aber in der Tabelle steht dann
                Code:
                0000-00-00 00:00:00

                Kommentar


                • #9
                  Code:
                  du musst auch 
                  
                  '2003-11-18 18:11:30', 
                  
                  schreiben
                  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


                  • #10
                    nu klappts, vielen Dank

                    Hatte übersehen, daß ich das Datum vorher schonmal ummodel, damit es vernünftig (in der deutschen Schreibweise) angezeigt wird. Wer lesen kann ist klar im Vorteil *an die Nase pack*

                    Kommentar


                    • #11
                      zum anzeigen des datum aus der datenbank empfiehlt sich DATE_FORMAT() ..
                      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

                      Lädt...
                      X