パラメータが不明なSQL文を準備しようとしています!これらのパラメータは、配列内で継承されています。機能のための通常の構文は次のようになります。PHPで配列を引数として渡す
$stmt->bind_param("string of types",param1,param2,...,paramN)
問題は、私はこのコードを持っていますが、そうでない配列
外の機能で$ stmt-> bind_paramをパラメータを追加する方法を知りませんで仕事:
$stmt= $conn->prepare($request['query']);
if(isset($request['params'])){
call_user_func_array('$stmt->bind_param',$request['params']);
}
$stmt->execute();
$result = $stmt->get_result();
$ request ['params']には、関数に追加する必要がある正しいパラメータが含まれています。
しかしcall_user_func_arrayは私に、このエラーを与える:
call_user_func_array() expects parameter 1 to be a valid callback, function '$stmt->bind_param' not found or invalid function.
私はcall_user_func_arrayを使用する権利の関数ではないかもしれないと思います! 私は何時間もグーグルで勉強しましたが、この小さな問題の解決策を見つけることができませんでした。 、call_user_func_array
にコールバックパラメータとしてメソッドを使用して、コールバックパラメータとして、その中にオブジェクト名の配列とメソッド名を使用するには
call_user_func_array(array($stmt,'bind_param'),$request['params']);
使用している機能について[ドキュメント](http://php.net/call_user_func_array)をお読みください。これらの例は、この関数を介してオブジェクトメソッドを適切に呼び出す方法を示しています。 –