PDO使用带数组的引用

时间:2012-08-17 03:22:39

标签: php pdo

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

2 个答案:

答案 0 :(得分:4)

尝试

$fields = array_map(array($bdd, 'quote'), $fields);

答案 1 :(得分:2)

除了concat sql string还有其他方法。

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

$stmt = $pdo->prepare($sql);
$stmt->execute($fields);