我有這個mysql
查詢:PHP MySQL查詢PHP的解析錯誤
$sql = "INSERT INTO lijsten(naam, niveau, nederlands, duits, frans, grieks,
engels, latijn, spaans, wiskunde, natuurkunde, scheikunde, geschiedenis,
economie, aardrijkskunde, ANW, godsdienst)
VALUES(\$_POST["naam"]\,\$_POST["niveau"]\,\$_POST["nederlands"]\,\$_POST["duits"]\,\$_POST["frans"]\,\$_POST["grieks"],\$_POST["engels"]\,\$_POST["latijn"]\,\$_POST["spaans"]\,\$_POST["wiskunde"]\,\$_POST["natuurkunde"]\,\$_POST["scheikunde"]\,\$_POST["geschiedenis"]\,\$_POST["economie"]\,\$_POST["aardrijkskunde"]\,\$_POST["ANW"]\,\$_POST["godsdienst"]\)";
它發送到數據庫使用此功能:
function connectDB($sql) {
$DBcon = mysql_connect(host, user, pass) or die(mysql_error());
mysql_select_db(database);
$result = mysql_query($query) or die(mysql_error());
mysql_close($DBcon);
return $result;
但是,當我嘗試運行它,它給了我一個PHP解析錯誤:
PHP Parse error: syntax error, unexpected 'naam' (T_STRING) in /media/usbdisk/website/www/boeken/naardb.php on line 11
有人能告訴我我犯了什麼錯誤嗎?我已經嘗試了很多方法來放置查詢,但沒有一個能夠工作。
查找MySQL的語法:https://dev.mysql.com/doc /refman/5.0/en/insert。html –
構建SQL查詢時,您犯了許多錯誤。研究使用準備好的語句。它不僅更安全,而且會渲染你正在創建的字符串連接問題。 – David
你試圖逃避的引號不存在。但是,如上所述,甚至不打擾修復使用參數化查詢。當前的代碼將對SQL注入開放。 'naam'錯誤是因爲'''在PHP中關閉了'$ sql'變量的字符串封裝。 – chris85