2010-10-20 41 views
1

我有一個針對mssql數據庫運行的查詢,我沒有使用PDO驅動程序。有沒有像我可以使用的準備好的聲明?PHP&SQL:從SQL注入保護此查詢的最佳方法不使用PDO

下面是該查詢:

$tsql = "INSERT INTO cplinktable (liferayid, bmsid, autotaskid, waspdb, cpid) VALUES ($liferayid, $bmsid, $autotaskid, '$waspdb', $cpid)"; 

感謝,

Jonesy

+2

您可能會發現[這個以前的答案](HTTP://計算器。 com/questions/574805/how-to-escape-strings-in-mssql-using-php)有幫助。 – 2010-10-20 15:08:48

回答

-3

嘗試用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 
0
$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)); 
0

準備語句,它的那麼簡單,對數字/整數字符串和類型轉換期運用mysql_real_escape /雙打

(int)$number; //Safe 
(double)$double; //Safe 
mysql_real_escape_string($string); //Safe 

這用在您插入y的每一條數據我們的數據庫是安全