2010-10-20 70 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的每一条数据我们的数据库是安全