我有一個針對mssql數據庫運行的查詢,我沒有使用PDO驅動程序。有沒有像我可以使用的準備好的聲明?PHP&SQL:從SQL注入保護此查詢的最佳方法不使用PDO
下面是該查詢:
$tsql = "INSERT INTO cplinktable (liferayid, bmsid, autotaskid, waspdb, cpid) VALUES ($liferayid, $bmsid, $autotaskid, '$waspdb', $cpid)";
感謝,
Jonesy
我有一個針對mssql數據庫運行的查詢,我沒有使用PDO驅動程序。有沒有像我可以使用的準備好的聲明?PHP&SQL:從SQL注入保護此查詢的最佳方法不使用PDO
下面是該查詢:
$tsql = "INSERT INTO cplinktable (liferayid, bmsid, autotaskid, waspdb, cpid) VALUES ($liferayid, $bmsid, $autotaskid, '$waspdb', $cpid)";
感謝,
Jonesy
嘗試用sprint()
$tsql = "INSERT INTO cplinktable (liferayid, bmsid, autotaskid, waspdb, cpid) VALUES (%d, %d, %d, '%s', %d)";
$tsql = sprintf($tsql, $liferayid, $bmsid, $autotaskid, $waspdb, $cpid);
echo $tsql; // you would execute this but printing to the screen to show the query
$query = sprintf("INSERT INTO cplinktable (liferayid, bmsid, autotaskid, waspdb, cpid) VALUES ('%s','%s','%s','%s','%s')",
mysql_real_escape_string($liferavid),
mysql_real_escape_string($bmsid),
mysql_real_escape_string($autotaskid),
mysql_real_escape_string($waspdb),
mysql_real_escape_string($cpid));
準備語句,它的那麼簡單,對數字/整數字符串和類型轉換期運用mysql_real_escape /雙打
(int)$number; //Safe
(double)$double; //Safe
mysql_real_escape_string($string); //Safe
這用在您插入y的每一條數據我們的數據庫是安全
您可能會發現[這個以前的答案](HTTP://計算器。 com/questions/574805/how-to-escape-strings-in-mssql-using-php)有幫助。 – 2010-10-20 15:08:48