【发布时间】:2012-08-17 03:22:38
【问题描述】:
我是 PDO 的新手
$sFields = "'".implode("', '", $fields)."'";
$sColumns = implode(", ", $columns);
$sql = "INSERT INTO $table ($sColumns) VALUES ($sFields)";
在我要插入的每个值上使用 PDO::quote 的最短方法是什么。
我试过了
$fields = array_map('$bdd->quote', $fields);
但它会返回:
警告:array_map() 期望参数 1 是有效的回调,未找到函数 '$bdd->quote' 或无效的函数名
【问题讨论】:
-
希望你已经正确地避开了这些字段/列,否则你仍然会注入自己,PDO 或没有 PDO...
-
我在引号前使用了斜杠
-
stripslashes 是sql注入的湿厕纸。它不能保护你。假装该函数不存在并使用正确的查询构造方法。您正在使用 PDO - 使用占位符和准备好的查询。
-
我正在使用准备但没有占位符,我会检查它