0
我已經構建了一個網站來爲我的小企業提交時間表。它使用SQL語句通過ODBC將數據提交給Microsoft Access數據庫。我現在注意到,無論何時在我的描述框中使用單引號,它都會給我一個錯誤。當我在描述框中使用單引號時發生SQL錯誤
我讀到了這個,聽到很多人說'參數化您的查詢',但我不確定如何做到這一點。
我有我的網站的HTML文本框,這樣
<textarea name="JobDescription" cols="75" rows="8" id="otherpurch"></textarea><br>
這是一種形式的一部分,與其他各種東西一起提交。我如何處理在此框中鍵入的描述中包含單引號?我有一個名爲'submit_form'的.php文件,在那裏我可以想象這將是必須完成的。參數化查詢的一般過程是什麼?我對此有點困惑。
任何幫助非常感謝!
以下是數據如何從文本框發送到數據庫。
$JobDescription=$_POST['JobDescription'];
$JobDescription=stripslashes($JobDescription);
$JobDescription=mysql_real_escape_string($JobDescription);
//make connection to database, bail if no connection
$connection = odbc_pconnect('db','','');
if (!$connection) { exit("Connection Failed: " . $connection); }
//Send data (usually there are many other variables being sent, but I removed them
//for the purposes of showing you just the text being sent from the description box
$sql = "INSERT INTO TimeSheet ('$JobDescription')";
$rs = odbc_exec($connection, $sql);
if (!$rs) { exit("Error in SQL");
的問題是不是在HTML,但在PHP代碼將數據保存到數據庫中。發佈。 – Lucero
如果您沒有打開mysql_connect()資源,則不能調用mysql_real_escape_string()。換句話說,它不是一個通用的函數,可以使用任何數據庫API,並且它可能會返回一個空字符串... –
好消息是,您瞭解了SQL注入的簡單方法:) – SWeko