質問: create_bind_param_args($params); call_user_func_array(array($stmt, 'bind_param'), $args); $stmt->execute(); ``` create_bind_param_argsでは渡すパラメータの配列を生成する処理を行っています。 bind_paramへのパラメータは参照渡しでなければいけないということはわかったのですが、参考にしたサイトに書かれていたようにパラメータの前に「&」を付けると ``` call_user_func_array(array($stmt, 'bind_param'), &$args); ``` 下記エラーが出てしまします。 > > Fatal error: Call-time pass-by-reference has been removed in XXXXXX > > > これに対する対処方法をご存知の方いませんか? よろしくお願いします。 -- PODが使用できないレンタルサーバを使用しているため、「MySQLiではなくPDOでやったらどうか」といった助言は無用です。
回答: ここのとこの処理内容が分からないので断言はできませんが... ``` $args = create_bind_param_args($params); ``` こちら(↓)のページは参考になると思います。 https://icondecotter.jp/blog/2013/07/19/phpmysqli%E3%81%AEsql%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AE%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AE%E6%95%B0%E3%81%8C%E5%8F%AF%E5%A4%89%E3%81%99/ ちなみに、$argsを参照渡しにするのではなく、 $args に設定する個々の情報を参照渡しにする という話のようです。