-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 列 try `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 行的“第 2 列、第 3 列、第 4 列、第 5 列、第 6 列)值(Casper、mand、20til25)附近

我猜,问题是,你没有将列名转义为'-字符,比如'column n'

试试看...

于 2013-01-01T20:26:12.447 回答