我正在使用PHP驅動程序使用sqlsrv
驅動程序連接SQL數據庫。然而,我遇到了一個問題:撇號未插入SQL數據庫
$string = "Home";
$DBH->prepare("INSERT INTO table_name (column_name) VALUES ('" .$string. "')");
$DBH->execute();
這是如何工作的?
$string = "Home's";
$DBH->prepare("INSERT INTO table_name (column_name) VALUES ('" .$string. "')");
$DBH->execute();
但是這不?
SQL數據庫似乎不接受$string
變量中的撇號。在過去,我會使用mysql_real_escape_string
,但這不是一個選項。
不和不工作的話是沒有人瞭解這裏。找到錯誤。 PDO有一個引用方法http://www.php.net/manual/en/pdo.quote.php –
你正在遭受SQL注入 - 這是[如何解決它](http://stackoverflow.com/questions/ 60174 /如何防止SQL注入在PHP) –
「在過去我會使用'mysql_real_escape_string'但這不是一個選項。」這意味着你知道問題是什麼。使用預準備的語句 –