0

PHP PDO のマニュアルを読み、この投稿を見ました: PDO PARAM_STR and length

その投稿を読んだ後、DB に挿入するときに長さを指定する必要はなく、出力するときに指定する必要があることを理解しました。

私の質問は、出力の長さを指定したくない場合、代わりに bindvalue() を使用できますか? bindparam と bindvalue をいつ使用するのが最適かについて、誰かが良いアドバイスをくれるでしょうか?

よろしくお願いします。

4

1 に答える 1

1

出力の長さを設定する必要はありません。必要に応じてこれを行うことができます。

これは、マニュアルが bindValue() と bindParam() の違いについて述べていることです

PHP 変数を、ステートメントの準備に使用された SQL ステートメント内の対応する名前付きプレースホルダーまたは疑問符プレースホルダーにバインドします。PDOStatement::bindValue() とは異なり、>変数は参照としてバインドされ、>PDOStatement::execute() が呼び出されたときにのみ評価されます。

ほとんどのパラメータは入力パラメータです。つまり、クエリを作成するために読み取り専用で使用されるパラメータです。ドライバの中には、出力パラメータとしてデータを返すストアド プロシージャの呼び出しをサポートするものと、データを送信し、それを受信するために更新される入力/出力パラメータとしてサポートするものがあります。

変数を追加するときは、常に bindParam を使用します。しかし、それについては自分で判断する必要があると思います。

于 2012-12-14T01:52:31.153 に答える