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

concatsqlstring以外の方法があります。

$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 に答える