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