PHP PDO のマニュアルを読み、この投稿を見ました: PDO PARAM_STR and length
その投稿を読んだ後、DB に挿入するときに長さを指定する必要はなく、出力するときに指定する必要があることを理解しました。
私の質問は、出力の長さを指定したくない場合、代わりに bindvalue() を使用できますか? bindparam と bindvalue をいつ使用するのが最適かについて、誰かが良いアドバイスをくれるでしょうか?
よろしくお願いします。
PHP PDO のマニュアルを読み、この投稿を見ました: PDO PARAM_STR and length
その投稿を読んだ後、DB に挿入するときに長さを指定する必要はなく、出力するときに指定する必要があることを理解しました。
私の質問は、出力の長さを指定したくない場合、代わりに bindvalue() を使用できますか? bindparam と bindvalue をいつ使用するのが最適かについて、誰かが良いアドバイスをくれるでしょうか?
よろしくお願いします。
出力の長さを設定する必要はありません。必要に応じてこれを行うことができます。
これは、マニュアルが bindValue() と bindParam() の違いについて述べていることです
PHP 変数を、ステートメントの準備に使用された SQL ステートメント内の対応する名前付きプレースホルダーまたは疑問符プレースホルダーにバインドします。PDOStatement::bindValue() とは異なり、>変数は参照としてバインドされ、>PDOStatement::execute() が呼び出されたときにのみ評価されます。
ほとんどのパラメータは入力パラメータです。つまり、クエリを作成するために読み取り専用で使用されるパラメータです。ドライバの中には、出力パラメータとしてデータを返すストアド プロシージャの呼び出しをサポートするものと、データを送信し、それを受信するために更新される入力/出力パラメータとしてサポートするものがあります。
変数を追加するときは、常に bindParam を使用します。しかし、それについては自分で判断する必要があると思います。