0

我是 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' 或无效的函数名

4

2 回答 2

6

尝试

$fields = array_map(array($bdd, 'quote'), $fields);
于 2014-06-20T08:45:30.097 回答
1

除了 concat sql 字符串之外,还有其他方法。

$sColumns = implode(", ", $columns);
$sFields = implode(',', array_fill(0, count($fields), '?'));
$sql = "INSERT INTO $table ($sColumns) VALUES ($sFields)";

$stmt = $pdo->prepare($sql);
$stmt->execute($fields);
于 2012-08-17T03:31:17.543 回答