-1

重複の可能性:
MySQL - 単一引用符、二重引用符、およびバッククォートをいつ使用するか?

私はこれを盲目的に見つめました。そして、エラーを見つけるための助けが必要です。

html:

        <b>Navn:</b> 
        <input type="text" name="navn" id="navn">

        </br>
        </br>

        <b>K&oslash;n:</b>
        <input type="radio" name="køn" value="mand" id="radio">Mand
        <input type="radio" name="køn" value="kvinde">Kvinde

        </br>
        </br>

        <b>Alder:</b> 
        <select name="alder" id="selecta">
        <option value="blank"></option>
        <option value="10til15">10 til 15 &aring;r</option>
        <option value="15til20">15 til 20 &aring;r</option>
        <option value="20til25">20 til 25 &aring;r</option>
        <option value="25til30">25 til 30 &aring;r</option>     
        </select>

        </br>
        </br>

        <b>V&aelig;gt:</b>  
        <select name="vægt" id="selectv">
        <option value="blank">Vægt</option> 
        <option value="30til40">30 til 40 kg</option>
        <option value="40til50">40 til 50 kg</option>
        <option value="50til60">50 til 60 kg</option>
        <option value="60til70">60 til 70 kg</option>       
        </select>

        </br>
        </br>

        <b>B&aelig;lte:</b>
        <select name="bælte" id="selectb">
        <option value="blank">vægt</option>
        <option value="hvid">Hvid</option>
        <option value="grøn">Gr&oslash;n</option>
        <option value="blå">Bl&aring;</option>
        <option value="sort">Sort</option>      
        </select>

php:

$navn = $_POST['navn'];
$køn = $_POST['køn'];
$alder = $_POST['alder'];
$vægt = $_POST['vægt'];
$bælte = $_POST['bælte'];

$con = mysql_connect("...", "...", "...") or die(mysql_error());
echo "Connected to MySQL<br />";

mysql_select_db("...", $con) or die(mysql_error());
echo "Connected to Database<br />";

mysql_query("INSERT INTO Tilmeldinger 
(column 2, column 3, column 4, column 5, column 6)
VALUES ($navn, $køn, $alder, $vægt, $bælte)") or die(mysql_error());

mysql_query("SELECT * FROM Tilmeldinger ORDER BY column 3, column 4, column 5, column 6") or die(mysql_error());

mysql_close;

echo "Tak for din tilmelding! Du bliver viderstillet om et kort øjeblik";

header("Refresh: 5; URL=http://www.casperwmn.dk/tilmelding.php");
exit; }

私は出力を得ています:

Connected to MySQL
Connected to Database
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 'column 2, column 3, column 4, column 5, column 6) VALUES (Casper, mand, 20til25,' at line 2

貴重な &vægt を確認しましたが、何が問題なのかわかりませんか?

事前に、ありがとう!

4

4 に答える 4

1

列 2 の代わりに を試してください`column 2`。列名の前後にバッククォートを追加します。

于 2013-01-01T20:18:08.287 に答える
1

おそらく次のようになります。

mysql_query("INSERT INTO Tilmeldinger 
(column2, column3, column4, column5, column6)
VALUES ($navn, $køn, $alder, $vægt, $bælte)") or die(mysql_error());
于 2013-01-01T20:18:26.163 に答える
1

SQL ステートメントでは、引用符で囲まない限り、列名にスペースを含めることはできません。例えば:

INSERT INTO (`column 2`, `column 3`, ...) VALUES ( ... )

同様に、SELECT では、列名にスペースが含まれているため、ORDER BY 句で列名を引用する必要があります。

于 2013-01-01T20:19:10.067 に答える
0

あなたのエラーが言うように

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 'column 2, column 3, column 4, column 5, column 6) VALUES (Casper, mand, 20til25,' at line 2

-> '列2、列3、列4、列5、列6の近く)値(Casper、mand、20til25、' 2行目

問題は、列名を'文字にエスケープしなかったことだと思います。'column n'

試してみる...

于 2013-01-01T20:26:12.447 に答える