SQL Variable Syntax

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL Variable Syntax

    Wieso bekomme ich immer einen Fehler bei der Insert Into Zeile???

    HTML Datei mit dem Formular:
    PHP Code:
    <FORM ACTION="bla.php" METHOD="get">

    <
    p>Nick<p>
    <
    INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=50>
    <
    br>
    <
    p>Name<p>
    <
    INPUT TYPE="text" NAME="name" SIZE=20 MAXLENGTH=50>
    <
    br>
    <
    p>Vorname<br>
    <
    INPUT TYPE="text" NAME="vorname" SIZE=20 MAXLENGTH=50>
    <
    br>
    <
    p>Adresse<p>
    <
    INPUT TYPE="text" NAME="adresse" SIZE=20 MAXLENGTH=50>
    <
    br>
    <
    p>PLZ<p>
    <
    INPUT TYPE="text" NAME="plz" SIZE=20 MAXLENGTH=50>
    <
    br>
    <
    p>Ort<p>
    <
    INPUT TYPE="text" NAME="ort" SIZE=20 MAXLENGTH=50>
    <
    br>
    <
    p>Mail<p>
    <
    INPUT TYPE="text" NAME="mail" SIZE=20 MAXLENGTH=50>
    <
    br><br>

    <
    INPUT TYPE="submit" VALUE="Absenden">
    <
    INPUT TYPE="reset"  VALUE="Löschen">

    </
    FORM
    bla.php
    PHP Code:
    <?php
    $con
    =mysql_connect('localhost''uname''password');
    mysql_select_db('db-name'$con);

       
    $nick $_GET['nick'];
       
    $name $_GET['name'];
       
    $vorname $_GET['vorname'];
       
    $adresse $_GET['adresse'];
       
    $plz $_GET['plz'];
       
    $ort $_GET['ort'];
       
    $mail $_GET['mail'];

       echo 
    "Nick: $nick<p>";
       echo 
    "Name: $name<p>";
       echo 
    "Vorame: $vorname<p>";
       echo 
    "Adresse: $adresse<p>";
       echo 
    "PLT: $plz<p>";
       echo 
    "Ort: $ort<p>";
       echo 
    "Mail: $mail<p>";
       
    INSERT INTO tabelle(nick,name,vorname,adresse,plz,ort,mailVALUES ('123','1234','1234','1234','1234','1234','1234');

    ?>
    Die Values werden noch durch die Variabeln ersetzt.

  • #2
    Hi,

    wie wärs wenn du auch mal den SQL Fehler posten würdest - aber ich glaube es sollte dir schon helfen, wenn du die Query einfach mal nimmst und in PHP-MyAdmin ausführst....

    Comment


    • #3
      Du solltest die Query vielleicht auch mit dem passenden Befehl absenden.

      Comment


      • #4
        Re: Insert Into Error

        Original geschrieben von snake23
        PHP Code:

           
        echo "Nick: $nick<p>";
           echo 
        "Name: $name<p>";
           echo 
        "Vorame: $vorname<p>";
           echo 
        "Adresse: $adresse<p>";
           echo 
        "PLT: $plz<p>";
           echo 
        "Ort: $ort<p>";
           echo 
        "Mail: $mail<p>";
           
        INSERT INTO tabelle(nick,name,vorname,adresse,plz,ort,mailVALUES ('123','1234','1234','1234','1234','1234','1234');

        ?> 
        Autsch, du weißt schon, das das Tag für eine neue Zeil <br> heist und das ein <p>-Tag auch immer wieder zugemacht werden muss? (</p>)

        Ausserdem gehe ich davon aus, das deine Query da nur en Beispiel ist und du die in Wirklichkeit natürlich noch ausführst...

        Comment


        • #5
          Der Fehler ist:
          Parse error: parse error, unexpected T_STRING

          Das mit <p> funktioniert trotzdem
          Aber könnte man ändern...

          Ja wie denn Befehl ausführen?

          So:
          PHP Code:
          mysql_query(INSERT INTO tabelle (nick,name,vorname,adresse,plz,ort,mailVALUES ('123','1234','1234','1234','1234','1234','1234')); 

          Comment


          • #6
            Edit: Im phpmyAdmin funktioniert der Befehl....

            Comment


            • #7
              Das ist nicht dein Ernst? Du bekommst einen Parse Error weil du erwartest das PHP natürlich sofort weiß was du willst, wenn du ne Query mitten in deinen Quellcode haust????

              Das finde ich dreißt...

              http://de2.php.net/manual/de/function.mysql-query.php

              resource mysql_query ( string Anfrage [, resource Verbindungs-Kennung] )
              ^^^Was denkst du weswegen da das Wort STRING steht....
              Last edited by prego; 14-07-2005, 16:02.

              Comment


              • #8
                Ok, Fehler erkannt, es funktioniert jetzt...

                Comment


                • #9
                  Hab doch noch ein Problem, wenn ich die Values mit den Variablen ersetze, wie muss ich es genau schreiben (syntax)???
                  PHP Code:
                  $sql 'INSERT INTO tabelle( nick, name, vorname, adresse, plz, ort, mail ) ' ' VALUES ( ??? )'
                  Für einen normalen Text muss ich ja: \\'text\\'
                  doch für eine Variable.................

                  Comment


                  • #10
                    SQL Variable Syntax

                    Wenn ich die Values mit den Variablen ersetze, wie muss ich es genau schreiben (syntax)???

                    PHP:
                    $sql = 'INSERT INTO tabelle( nick, name, vorname, adresse, plz, ort, mail ) ' . ' VALUES ( ??? )';


                    Für einen normalen Text muss ich ja: \'text\'
                    doch für eine Variable.................

                    Comment


                    • #11
                      http://dev.mysql.com/doc/mysql/en/insert.html
                      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.

                      Comment


                      • #12
                        PHP Code:
                        $sql 'INSERT INTO tabelle VALUES ("' $var1 '", "' $var2 '", ...)'
                        du brauchst nicht jedesmal nach der tabelle die klammer mit allen werten machen...

                        BTW: Ich mach meine inserts überhaupt nur noch mit set, sprich:
                        PHP Code:
                        $sql "INSERT INTO tabelle SET foo='bar', foo2='bar2', ..."
                        Gibt es daran etwas auszusetzen?
                        [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

                        Comment


                        • #13
                          PHP Code:
                          $sql "INSERT INTO ".$table." (nick,name,vorname,adresse,plz,ort,mail) 
                          VALUES ('"
                          .$nick."','".$name."','".$vorname."','".$adresse."','".$plz."','".$ort."','".$mail."')"

                          Comment


                          • #14
                            Original geschrieben von snake23
                            Das mit <p> funktioniert trotzdem
                            Aber könnte man ändern...
                            Siehe unterste Zeile meiner Sig...
                            Last edited by tomstig; 14-07-2005, 17:42.
                            [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

                            Comment


                            • #15
                              wieso machst du jetzt nen extra-thread auf? was soll das?
                              Die Zeit hat ihre Kinder längst gefressen

                              Comment

                              Working...
                              X