MySQLiのオブジェクト指向型を使用してDBから値を取得してくる汎用的な関数を作ろうと考えています。
SQLステートメントのパラメータの数が可変するのでcall_user_func_arrayを使用した方法を試していますが、下記エラーが出てしまいます。
Warning: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference, value given in XXXXXX
下記ソースが該当箇所になります。
php
1$stmt = link->prepare($sql); 2$args = create_bind_param_args($params); 3call_user_func_array(array($stmt, 'bind_param'), $args); 4$stmt->execute();
create_bind_param_argsでは渡すパラメータの配列を生成する処理を行っています。
bind_paramへのパラメータは参照渡しでなければいけないということはわかったのですが、参考にしたサイトに書かれていたようにパラメータの前に「&」を付けると
php
1call_user_func_array(array($stmt, 'bind_param'), &$args);
下記エラーが出てしまします。
Fatal error: Call-time pass-by-reference has been removed in XXXXXX
これに対する対処方法をご存知の方いませんか?
よろしくお願いします。
--
PODが使用できないレンタルサーバを使用しているため、「MySQLiではなくPDOでやったらどうか」といった助言は無用です。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/15 09:35