PDO を使用するのはこれが初めてで、3 つのパラメーターを渡すだけでテーブルにデータを挿入する関数を作成しようとしています。
これは機能です:
public function insert($t, $v, $r)
{
if ($this->active)
{
if (($t != null) && ($r != null) && ($v != null) && (count($v) == count($r)))
{
$instruction = 'INSERT INTO `' . DBNAME . '`.`' . $t . '` (';
for ($i = 0; $i < count($r); $i++)
$_r[$i] = '`' . $r[$i] . '`';
$_r = implode(',', $_r);
$instruction .= $_r . ') VALUES (';
for ($i = 0; $i < count($r); $i++)
$r[$i] = ':' . $r[$i];
$r = implode(',', $r);
$instruction .= $r . ');';
$statement = $this->PDO->prepare($instruction);
for ($i = 0; $i < count($r); $i++)
$statement->bindParam($r[$i], $v[$i]);
$statement->execute();
echo $instruction;
return true;
} else
return false;
} else
return false;
}
私はこれを試しました:
$t = "users";
$v = array(201);
$r = array("id_user");
$data->insert($t, $v, $r);
しかし、うまくいきません。それが返すものです:
警告: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: 無効なパラメーター番号: パラメーターが /Applications/XAMPP/xamppfiles/htdocs/friz/mysql_functions.php の 68 行目の INSERT INTO で定義されていませんでした
friz
。users
(id_user
) 値 (:id_user);
手伝って頂けますか?
PS: 検索機能を使用しましたが、問題を解決するものは見つかりませんでした。