PDO将引号与数组一起使用


PDO use quote with an array

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

试试

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

除了连接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);