私は基本的に API からローカル MySQL データベースにデータをロードするスクリプトを作成しています。これらの値は、API が返す内容に基づいて変化します。
実際に MySQL データベースに行を挿入してみるまでは、これまでのところすべてが正常に動作しています。具体的には、準備されたステートメントを使用する必要があることはわかっていますが、変数を準備されたステートメントにバインドしようとすると問題が発生します。次のコードを実行しようとすると、次のメッセージが表示されます:
リーリーこれは問題のコードです:
リーリー私はこの点に関しては少し初心者であることを率直に認めます。そのため、より良い方法についてのあらゆる提案を歓迎します。実際のところ、ユーザーが直接入力することは決してないので、この問題を解決する最善の方法に何らかの影響があるとしても、私はセキュリティの問題については比較的無関心です。
###前もって感謝します!
これは、配列要素を別の引数として渡すことと同じです:bind_param()
は、実際には配列パラメータではなく変数パラメータを受け入れます。しかし、最新の PHP には、配列を複数のスカラー パラメーターに変換するための構文があります。 リーリーリーリー
しかし、配列内にいくつの要素があるのかが分からないと恥ずかしいです。参考までに、私は mysqli の代わりに PDO を使用することを好みます。何もバインドする必要はなく、値の配列をパラメーターとして
execute()
PDO の方が簡単だと思います。 mysqli を使用する理由は、調整が必要な 2000 年代半ばのレガシー コードが大量にある場合です。始めたばかりの場合、レガシー コードはありません。したがって、最初に PDO を採用するのもよいでしょう。:
に渡すだけです。 リーリーhttps://phpdelusions.net/pdo/