mySQL schreibt nicht - bzw kann auch PHP Admin nicht öffnen!

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

  • mySQL schreibt nicht - bzw kann auch PHP Admin nicht öffnen!

    Also... Ich wollte gerade mal das mit mySQL ausprobieren.
    Kurzum: mySQL Noob hier

    Hab mich an die Anleitung von Schattenbaum gehalten und es
    hat wie sie es macht auch geklappt. Als ich dann aber meinen
    ganz eigenden Script bauen wollte, hat es jetzt garnicht mehr
    geklappt.

    Ich kriege weder Werte raus (also ist nichts drin) noch kann ich
    mit dem PHP Admin auf die Tabelle zu greifen.

    Kann sich das mal wer anschauen und mir sagen wodran es liegt?

    PHP-Code:
    if (empty ($_POST)) {
    $newticket '';
    while (
    strlen($newticket)<8$newticket .= chrrandord('0'), ord('9') ) );
    $_SESSION['ticketID'] = $newticket ;
    include 
    $tpl.'ticket_report.php' ;

    } else {
        
        
    $ticketID $_SESSION['ticketID'];
        
    $submitter $_POST['submitter'];
        
    $email $_POST['email'];
        
    $project $_POST['project'];
        
    $priority $_POST['priority'];
        
    $problem $_POST['problem'];
        
    $description $_POST['description'];
        
        unset(
    $_POST) ;
        
        
    $entry "INSERT INTO tickets 
    ('ticketID', 'submitter', 'email', 'project',
     'priority', 'problem', 'description') 
    VALUES 
    ('
    $ticketID', '$submitter', '$email', '$project', 
    '
    $priority', '$problem', '$description')" ;
          
    $entry mysql_query($entry) ;
      
      
      
      echo 
    'done' ;
      
            
    $abfrage "SELECT ticketID FROM tickets";
            
    $ergebnis mysql_query($abfrage);

                while(
    $row mysql_fetch_object($ergebnis)) { echo $row->ticketID ;    }


    die Tabelle dazu sieht so aus:

    PHP-Code:
    mysql_query ('CREATE TABLE  `tickets` (
     `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
     `ticketID` INT( 8 ) NOT NULL ,
     `submitter` VARCHAR( 25 ) NOT NULL ,
     `email` VARCHAR( 25 ) NOT NULL ,
     `project` VARCHAR( 10 ) NOT NULL ,
     `priority` VARCHAR( 15 ) NOT NULL ,
     `problem` VARCHAR( 50 ) NOT NULL ,
     `description` LONGTEXT NOT NULL
    ) TYPE = MYISAM ;'
    ); 
    sie ist per php script erstellt (wegen installatieren)

    Also, kann mir wer helfen?
    Zuletzt geändert von xJonx; 21.03.2006, 18:52.
    Design & Coding with a breeze of madness at xjonx

  • #2
    Schreib mal hinter das mysql_query ein echo mysql_error() dann siehst du, was MySQL zu meckern hat.

    Kommentar


    • #3
      noch kann ich mit dem PHP Admin auf die Tabelle zu greifen.
      was heißt das genau?

      umbrichst du bitte deinen beitrag, so daß man nicht horizontal scrollen muß?
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        Original geschrieben von derHund
        was heißt das genau?

        umbrichst du bitte deinen beitrag, so daß man nicht horizontal scrollen muß?
        Sorry... hab ich getan..
        Design & Coding with a breeze of madness at xjonx

        Kommentar


        • #5
          Und warum beantwortest du die Frage nicht?

          OffTopic:
          Verdammt Leute, seht doch endlich mal ein, dass es tierisch nervt, wenn man immer x-mal nachfragen muss ...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Original geschrieben von wahsaga
            Und warum beantwortest du die Frage nicht?

            OffTopic:
            Verdammt Leute, seht doch endlich mal ein, dass es tierisch nervt, wenn man immer x-mal nachfragen muss ...
            nochmal sorry... hab die frage vor lauter umbruch echt übersehen!
            meine güte - ein fettnäpfchen nach dem anderen. hab schon angst
            hier fragen zu stellen.

            also:

            ich habe überprüfen wollen ob die daten in der datenbank angekommen sind.
            allerdings hatte der browser bzw der phpMyAdmin übelst probleme die seite
            auf zurufen und endet mit einer "server antwortet nicht" fehler meldung.

            dies hab ich nen paar wiederholt versucht. jeweils nach dem ich über das formular
            die daten eingetragen habe.

            nischt!!!

            ebenso erfolglos war der versuch "testweise" direkt nach dem eintragen alle
            "id" felder ausgeben zu lassen... es kommt also nichts an...

            ich befürchte das es an der $_POST oder an der $_SESSION liegt.
            Da ich anfangs die TicketID über die $_SESSION übergeben habe, hatte
            ich das vorsichts halber auf $_POST gestellt.

            Ach ja... Mit der $_SESSION hat der script noch insofern funktioniert, das
            er die "ID" um eins erhöht und die "TicketID" eingetragen hat...

            Das mit dem error report mach ich in nen paar minuten!
            Design & Coding with a breeze of madness at xjonx

            Kommentar


            • #7
              hier der mySQL error code:

              Code:
              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 ''ticketID', 
              'submitter', 'email', 'project', 'priority',
               'problem', 'description' at line 1
              Zuletzt geändert von xJonx; 21.03.2006, 21:04.
              Design & Coding with a breeze of madness at xjonx

              Kommentar


              • #8
                spaltennamen werden in mysql in
                Code:
                sog. `backticks`
                eingeschlossen.

                Kommentar


                • #9
                  danke P. ...
                  hab das mal gemacht... quasi wie auch der phpAdmin es ausgibt.
                  jetzt bin ich wieder an dem Punkt das er nur "id" und "ticketID",
                  also nur zahlen werte übergibt.

                  Die anderen Felder habe ich auch VARCHAR stehen bzw. Description
                  auf LONGTEXT ...

                  Die Fehler Meldungen sind allerdings auch weg jetzt!
                  Design & Coding with a breeze of madness at xjonx

                  Kommentar


                  • #10
                    debugge...

                    Kommentar


                    • #11
                      ach!? Und wie bitte sehr?
                      Ich hab jetzt schon einiges probiert.
                      Hab auch mal den vom phpadmin
                      generierten PHP code eingefügt.

                      Läuft auch nicht.

                      Kann es mit dem $_POST zusammen
                      hängen? Oder mit dem Text?

                      hiermit läuft es soweit das die Zahlen übegen werden:

                      PHP-Code:
                      $ticketID $_SESSION['ticketID'];
                          
                      $submitter $_POST['submitter'];
                          
                      $email $_POST['email'];
                          
                      $project $_POST['project'];
                          
                      $priority $_POST['priority'];
                          
                      $problem $_POST['problem'];
                          
                      $description $_POST['description'];
                          
                          unset(
                      $_POST) ;
                          
                          
                      $entry "INSERT INTO tickets 
                      (`ticketID` ,  `submitter` ,  `email` ,  `project` ,  `priority` ,  `problem` ,  `description`) 
                      VALUES 
                      ('
                      $ticketID', '$submitter', '$email', '$project', '$priority', '$problem', '$description')" ;
                          
                            
                      $entry mysql_query($entry) ;
                          echo 
                      mysql_error() ; 
                      Weil gerade Text wird nicht übertragen.
                      Zuletzt geändert von xJonx; 21.03.2006, 20:40.
                      Design & Coding with a breeze of madness at xjonx

                      Kommentar


                      • #12
                        TicketID ist ein INT, die werden nicht mit ' eingeschlossen. Dieses ' benutzt man nur bei Strings, also z.B. Varchar oder Text...

                        Mit einem
                        PHP-Code:
                        print_r($_SESSION
                        Kannst du schauen, was in den Arrays drinsteht.

                        Die Spaltennamen muss man nicht einschließen (oder doch? Ich machs immer ohne )

                        Kommentar


                        • #13
                          OK. Es läuft. Leider weiß ich auch nicht genau warum und wieso!
                          Aber egal... nächstes Problem: Er überträgt die email nicht!

                          Welchen TYP oder welche Collation muss ich für email haben?

                          Oder liegt es nicht daran?
                          Design & Coding with a breeze of madness at xjonx

                          Kommentar


                          • #14
                            Wenn es ein mysql-Problem ist, dann meckert mysql_error(). Wenn der nichts sagt, dann liegt das probem wo anders. Steht die mail überhaupt drin (auch hie wieder print_r!!). Schau mal unter php.net nach print_r und diesen ganzen Vars $_SESSION, $_POST, $_GET usw.

                            Kommentar


                            • #15
                              Juhu! Ernsthaft: Das lag jetzt nur an dem Formular
                              Hab da mail statt email stehen gehabt...

                              Muss ist eigentlich die $_POST['VAR'] umwandeln?
                              Kann ich die nicht direkt in verweden?

                              Beispiel:
                              PHP-Code:
                              "INSERT INTO tickets (`ticketID`) VALUES ('$_SESSION['ticketID']')"
                              // BZW:
                              "INSERT INTO tickets (`ticketID`) VALUES ('$_POST['ticketID']')" 
                              falls ich die zwangsweise umwandeln muss (und allgemein):

                              kann ich auch zwei Variabeln gleichzeitig mit der selben Info füllen?

                              Zum Beispiel:

                              PHP-Code:
                              $var && $_SESSION['VAR'] = $_POST['VAR'] ; 
                              Zuletzt geändert von xJonx; 21.03.2006, 21:50.
                              Design & Coding with a breeze of madness at xjonx

                              Kommentar

                              Lädt...
                              X