問題タブ [pdostatement]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PDO 準備済みステートメントから生の SQL クエリ文字列を取得する
準備されたステートメントで PDOStatement::execute() を呼び出すときに実行される生の SQL 文字列を取得する方法はありますか? デバッグ目的では、これは非常に便利です。
php - PDOStatement::bindParam data_type パラメータのリスト
で使用できるすべての data_type パラメータを説明したリストはありますPDOStatement::bindParam()
か? ない場合は、通常何を使用し、どのタイプのフィールドに使用しますか?
PHP マニュアルによると: data_type PDO::PARAM_* 定数を使用したパラメーターの明示的なデータ型。
PDO::PARAM_INT
とについて知っていPDO::PARAM_STR
ます。聞いPDO::PARAM_LOB
たことはありますが、それをいつどのように使用するかはわかりませんでした。(デート用?)
php - PHP PDOStatement: 配列のキーとして最初の列として行を取得します
PDOStatement
データベースのクエリに使用しています。$row[0]
返された行を取得するたびに、 をキーとして配列にフェッチし、行の後続の要素を値として取得したいと考えています。
foreach
もちろん、以下のように、ループと条件の組み合わせを記述if
してジョブを実行することもできます。
しかし、私は既存の方法を探しています。そのような方法はすでに存在しますか?
なぜ質問を再開したのですか。
ここで問われているのは、明らかに PDO::FETCH_GROUP|PDO::FETCH_ASSOC の組み合わせです。PDO::FETCH_KEY_PAIR は、2 列の結果でのみ機能します。ただし、ここでの例は、すべての状況ではなく、問題のコードを単純化するためだけの 2 列の結果です。
php - PHP:オブジェクトを継承されたクラスにキャストする方法は?
PDOStatement クラスを継承して、Web サイトのスクリプトで使用したいと考えています。
しかし、必要なオブジェクトを取得する方法に不満があります。PDO::query は、直接の PDOStatement オブジェクトのみを返し、PDOStatement オブジェクトまたは継承されたクラスを作成する方法は他にないように見えます。
最初は、PDOStatement オブジェクトを継承クラスのコンストラクターに移動することを考えました。
ただし、PDOStatement のインスタンスを継承オブジェクト (Messaging_Collection) にする方法。それは私にとって大きな疑問です。
php - php PDOStatementfetchAll2回目
私はPDOStatementのポイントを本当に理解していません:
2回目のfetchAllがデータを返すが、SQLを再度実行しないようにするために渡す必要のあるパラメーターはありますか?
pdostatement - PDOStatement を使用する利点は?
通常のMysqlの代わりにPDOStatementを使用することの違い/利点は何ですか?
php - 警告: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[23000]:
誰でもこれを手伝ってもらえますか?
警告: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[23000]: 整合性制約違反: 1062 /usr/www/users/firstiw/competitions/facebook/64ongordon/competition のキー 1 のエントリ '127' が重複しています。 php 33行目
php - PDOStatement :: bindValue()で変数タイプをどのように定義しますか?
PDOStatement :: bindValue()メソッドは、バインドされた変数のタイプを指定する方法を提供します。
PDOStatement :: bindValue($ parameter、$ value [、$ data_type = PDO :: PARAM_STR ])
データ型を指定する目的は何ですか?デフォルト(PARAM_STR
)のままにすると、データベースは最終的に値を使用する前に適切な型にキャストしますか?
たとえば、INTEGER
フィールドに対して次のクエリがある場合:
そして、PHPで整数をバインドすると、PDOはデフォルトでそれを文字列としてバインドします。これは次のように相当します。
SQLデータベース(少なくともMySQL、他のRDBMSでどのように機能するかはわかりません)は、文字列を使用する前に整数に変換する方法を知っているため、これは問題なく機能します。
バインドされた型付きパラメーターと文字列に違いが生じるユースケースは何ですか?
php - PDOStatement オブジェクトをトラバースする方法、つまり fetch first、last before next など?
Web ページでデータに何度もアクセスしようとしています。より良い方法はありますか?movetofirst()、movetolast()、movetoprevious()、movetonext() のようなものがいいかもしれません。
現在、結果セットを配列として取得し(fetchall()を使用)、配列を何度も再利用しています。
以下のようなことはありますか?クエリを何度も実行する必要はありません。結果/配列が数百行の場合、データを配列に保持し、リソースを消費します。
php - 「mysql サーバーがなくなった」エラーで PDOStatement が再接続する PDO
mysql の wait_timeout を超えると、PHP CLI スクリプトで接続が失われます。wait_timeout を変更できないので、PDOStatement を使用してクエリを実行するときに再接続する try/catch ステートメントを作成するにはどうすればよいでしょうか?