Ankündigung

Einklappen
Keine Ankündigung bisher.

user-erstellsystem geht nicht. Wieso?

Einklappen

Neue Werbung 2019

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

  • user-erstellsystem geht nicht. Wieso?

    Ich habe ein script zum user erstellen geschrieben, das aber irgendwo einen fehler hat(Die daten konnten nicht eingefügt werden.), den ich aber nirgendwo finden kann. Kann mir einer sagen wo der fehler steckt?:
    PHP-Code:
    <?php header("Cache-Control: no-cache, must-revalidate"); ?>
    <html>
    <head>
    <title>SQL-Kommandos senden</title></head>
    <body>
    <?php    
    //Verbindung aufbauen...    
    $con mysql_connect("localhost:3306""username""passwort")
     or die(
    "

    Keine Verbindung möglich!</p>"
    );
    if (
    mysql_select_db("einballimwasser") == True){
    print 
    "

    Verbindung zu test erfolgreich hergestellt!</p>"
    ;    
    }
    else{
    print 
    "

    Auswahl der Datenbank gescheitert!</p>"
    ;
    }
    $sqlString "CREATE TABLE user(username varchar(50))";
    if (
    mysql_query($sqlString) == False){
    print 
    "

    Tabelle konnte nicht erzeugt werden!</p>"
    ;
    }
    $sqlString "INSERT INTO php (username) VALUES(_POST['username'])";
    if (
    mysql_query($sqlString) == False) {
    print 
    "

    Daten konnten nicht eingefügt werden!</p>"
    ;
    }
    else{
    print 
    "ja supi, hat ja alles geklappt";
    }
    //verbindung schloeßen
    mysql_close($con);
    ?>
    </body>
    </html>

  • #2
    1. Bidde Einrücken.
    2. mysql_error() is auch ne tolle Sache.
    3. if (!mysql_query($sqlString))

    INSERT INTO php (username)
    -> INSERT INTO user (username)

    VALUES(_POST['username'])";

    ->
    VALUES($_POST['username'])";

    und an mysql_real_escape_string denken
    Diese Erweiterung ist EXPERIMENTELL.
    [...]
    Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..

    Kommentar


    • #3
      aso, da war ja mal was mit POST und Variablen...

      Kommentar


      • #4
        Mist, geht wieder nicht:
        Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/export/www/vhosts/funnetwork/hosting/einballimwasser/mysqltest/create.php on line 18

        PHP-Code:
        <?php header("Cache-Control: no-cache, must-revalidate"); ?>
        <html>
        <head>
        <title>SQL-Kommandos senden</title></head>
        <body>
        <?php    
        //Verbindung aufbauen...    
        $con mysql_connect("localhost:3306""username""passwort")
        or die(
        "

        Keine Verbindung möglich!</p>"
        );
         if (!
        mysql_select_db("einballimwasser"))
         {
         print 
        "

        Verbindung zu test erfolgreich hergestellt!</p>"
        ;    
         }
        $sqlString "CREATE TABLE user (username varchar(50), passwort varchar(50))";
         if (!
        mysql_query($sqlString)){
         print 
        "

        Tabelle konnte nicht erzeugt werden!</p>"
        ;
         }
        $sqlString "INSERT INTO user (username, passwort) VALUES($_POST['username'], $_POST['passwort'])";
         if (!
        mysql_query($sqlString)) {
         print 
        "

        Daten konnten nicht eingefügt werden!</p>"
        ;
         }
        //...und wieder zumachen
        mysql_close($con);
        ?>
        </body>
        </html>

        Kommentar


        • #5
          Schön, das du Zeile 18 markiert hast.
          PHP-Code:
          $sqlString "INSERT INTO user (username, passwort) VALUES('".$_POST['username']."','"$_POST['passwort']."')"
          Diese Erweiterung ist EXPERIMENTELL.
          [...]
          Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..

          Kommentar


          • #6
            Na toll, jetzt kann er die Tabelle nicht mehr erstellen.....

            Kommentar


            • #7
              Zitat von einballimwasser
              Na toll, jetzt kann er die Tabelle nicht mehr erstellen.....
              und mysql_error() sagt dir dann wie immer, warum selbige nicht erstellt werden konnte.

              Kommentar


              • #8
                Und wie soll ich mysql_error einbinden?
                so geht´s ja net, oder:

                PHP-Code:
                <?php header("Cache-Control: no-cache, must-revalidate"); ?>
                <html>
                <head>
                <title>SQL-Kommandos senden</title></head>
                <body>
                <?php    
                //Verbindung aufbauen...    
                $con mysql_connect("localhost:3306""username""passwort")
                 or die(
                "

                Keine Verbindung möglich!</p>"
                );
                if (
                mysql_select_db("einballimwasser")==true)
                {
                print 
                "

                Verbindung zu test erfolgreich hergestellt!</p>"
                ;    
                }
                $sqlString "CREATE TABLE user(username varchar(50), passwort varchar(50))";
                if (!
                mysql_query($sqlString)){
                print 
                "

                Tabelle konnte nicht erzeugt werden!</p>"
                ;
                mysql_error();
                }
                $sqlString "INSERT INTO user (username, passwort) VALUES('".$_POST['username']."','"$_POST['passwort']."')";
                if (!
                mysql_query($sqlString)) {
                print 
                "

                Daten konnten nicht eingefügt werden!</p>"
                ;
                }
                //...und wieder zumachen
                mysql_close($con);
                ?>
                </body>
                </html>

                Kommentar


                • #9
                  PHP-Code:
                  $sqlString "CREATE TABLE user(username varchar(50), passwort varchar(50))";
                  mysql_query($sqlString) or print "

                  Tabelle konnte nicht erzeugt werden!</p>" 
                  mysql_error(); 
                  Aber es wäre durchaus auch deine Variante gegangen.
                  [edit] sofern du echo mysql_error(); geschrieben hättest[/edit]

                  Kommentar


                  • #10
                    Nö, die ging net, aber ich versteh´s trotzde net:

                    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 'user(username varchar(50), passwort varchar(50))' at line 1

                    kommt auch(so ähnliich) dauernd in phpmyadmin

                    *heul*

                    Kommentar


                    • #11
                      "ich bin ein string" wird dir auch kaum eine Ausgabe geben.
                      echo "ich bin ein string" schon eher.

                      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 'user(username varchar(50), passwort varchar(50))' at line 1
                      http://dev.mysql.com/doc/mysql/en/reserved-words.html

                      Kommentar


                      • #12
                        Des englische versteh ich aber net wirklich. da sind zu viele Wörter drin, die wir in ber schule noch net hatten *baby *

                        Kommentar


                        • #13
                          Schau dir einfach die Tabelle an.

                          Alle in der Tabelle aufgeführten Wörter sind in MySQL reservierte Wörter, u.a. auch
                          user

                          deshalb musst du Objektnamen die aus einem reservierten Wort bestehen eben mit Backticks ` maskieren.

                          Code:
                          CREATE TABLE `user`(username varchar(50), passwort varchar(50))
                          oder dir einen anderen Namen ausdenken.

                          Kommentar


                          • #14
                            JA, jetzt geht´s
                            Danke für alles. wenn ich des nächste mal probleme habe frag ich wiedere:

                            Ave MYSQL, moruiti te salutant
                            Sei gegrüßt MYSQL, die Toten begrüßen dich ( :P )

                            Kommentar

                            Lädt...
                            X