我有一个针对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