わかりました、これはパラメータを動的にバインドするための私のコードです。
$sql = "INSERT INTO `users` (`name`, `password`, `email`, `permission`) VALUES (?, ?, ?, ?)";
$sql_stmt = $mysqli->prepare ($sql);
$test = array("ssss","1","2","3","4");
call_user_func_array(array($sql_stmt,'bind_param') ,$test);
$sql_stmt->execute();
「プリペアドステートメントのパラメータにデータが提供されていません」というエラーが表示されます。ただし、次の行は機能します。
call_user_func_array(array($sql_stmt,'bind_param') ,array("ssss","1","2","3","4"));
ここで何が起こっているのかわかりません。
編集 私はちょうどやってみました
echo $sql_stmt->param_count;
そして私は4の適切なカウントを取得します。
私がこれについて啓発されることができれば、それは大きな助けになるでしょう。
ありがとうございました。