ヘルプ、レコードを挿入するためにローカルデータベースに接続するメソッドを接続クラスに作成しました。私は、パラメータをテーブル、列、および値を動的に選択するためのメソッドに渡すことを許可しました。プリペアドステートメントのパラメータにデータが提供されていません。
この方法では、カラムとプレースホルダを問合せに組み込みます。これは問題ありません。私が持っている問題は、プレースホルダに値をバインドすることです。私は、準備されたステートメントの中のパラメータのためのデータが提供されていないというエラーを受けています。私はここで同じ質問をいくつか検索しましたが、私の問題を解決するものはありません。おかげ
public function InsertQuery($table, $values, $cols)
{
$placeholders = array();
foreach ($values as $val) {
$placeholders[] = '?';
}
$placeholderList = implode(',', $placeholders);
$query = "INSERT INTO $table".'('.implode(',',$cols).') VALUES '. '('.$placeholderList.')';
$connect = $this->dbConnection;
if ($stmt = $connect->prepare($query)) {
$param_type = array("ssis");
$params_array = array_merge($param_type,$values);
call_user_func_array(array($stmt, 'bind_param'), $params_array);
}
}