2016-01-27 27 views
0

早上好,由於變量內容導致的SQL錯誤

我有一個SQL插入命令來自php的問題。我想下面的代碼:

$TeamMatchTable = "INSERT INTO Team Match Table 
        (LineupForward) VALUES ('$HomeLineupForward')";` 

然而$HomeLineupForward變量的內容是:Alexandre D'Acol;

這是導致因爲'的錯誤。

我能做些什麼來解決這個問題?

+0

你不應該引用你的列名,你應該使用準備好的語句。 – jeroen

+1

桌子真的被稱爲「Team Match Table」嗎?此外,'LineupForward'不應該被單引號包圍,而是反引號。 –

+0

你可以看看http://php.net/manual/en/function.addslashes.php和http://stackoverflow.com/questions/6269188/how-to-escape-only-single-quotes for需要轉義的字符。 – Anil

回答

0

你可以試試這個。

$HomeLineupForward= mysql_real_escape_string($HomeLineupForward); 

$TeamMatchTable = "INSERT INTO Team Match Table ('LineupForward') VALUES ('$HomeLineupForward')"; 
+2

mysql_ *從PHP 7開始折舊。Plz不使用。 – Matt

+0

謝謝@Matt。他可以試試這個mysqli_real_escape_string($ con,$ HomeLineupForward); –

+0

@TariqHusain _he可以試試這個mysqli_real_escape_string_只有當他連接mysqli_'而不是'mysql_'或'PDO'但是我們當然不知道它到底是哪個,因爲沒人問他! – RiggsFolly

相關問題