動的変数でステートメントをプリペアドステートメントPDOは、私はPDOを使用してデータベースにデータを挿入することができます関数を作成したい
dumped variables:
1. $fields
2. $bindValues
3. $values
'first_name, last_name, email' (length=28)
':first_name, :last_name, :email' (length=31)
array (size=3)
'first_name' => string 'Nikola' (length=6)
'last_name' => string 'Misic' (length=5)
'email' => string '[email protected]' (length=13)
public function test() {
$this->insert([
'first_name' => $_POST['first_name'],
'last_name' => $_POST['last_name'],
'email' => $_POST['email']
]);
}
public function insert(array $data) {
$fields = '';
$bindValues = '';
$values = [];
foreach($data as $k => $v) {
$fields .= $k . ', ';
$bindValues .= ':' . $k . ', ';
$values[$k] = $v;
}
$fields = rtrim($fields, ', ');
$bindValues = rtrim($bindValues, ', ');
$insert = $this->db->prepare("
INSERT INTO
:table
(:fields)
VALUES
(:values)
");
$insert->execute([
'table' => $this->table,
$values
]);
}
そして、私はエラー
を得ているの準備しましたメンバー関数への呼び出しbooleanでexecute()ブール
SQLに問題があり、デバッグする方法や方法がわかりません。
...何かなどを使用してSQLを構築する必要があります。バインディングには1つの値も必要です。 – chris85