問題タブ [prepared-statement]

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.

0 投票する
3 に答える
6714 参照

oracle - Oracle - OCI クエリのタイムアウト

Oracle OCI 呼び出し (OCIStmtExecute など) にタイムアウトを設定する方法はありますか?

ありがとう

0 投票する
3 に答える
4310 参照

java - MySQL でプリペアド ステートメントと接続プールを一緒に使用する

現在、クエリごとに、Prepared Statement が作成され、再利用されています。接続プールを使用していません。C3P0 は、同じライブラリとして広く推奨されています。

ただし、PreparedStatement は接続に関連付けられているためです。プールされた環境では、接続がプールに返され、PreparedStatement が事実上使用できなくなります。この結論について私は正しいですか?Prepared Statement と接続プーリングを一緒に使用する方法はありますか?

更新: これはスタンドアロン アプリケーションです。したがって、接続プーリングを正しく行うためだけにフレームワークを使用することはできません。

0 投票する
4 に答える
25337 参照

php - PHP PDO :: bindParam()データ型..どのように機能しますか?

bindParam()(または)のデータ型の宣言は何にbindValue()使用されているのでしょうか...

つまり、整数の引数(PDO::PARAM_INT)を定義する場合、引数は次のような整数に変換する必要があると思いました。

または、引数が宣言されたタイプでない場合は、少なくともエラーをスローします。しかし、そうではありません。

グーグルで調べてみると、php.netアーカイブで次のことがわかりました。

こんにちは、みんな、

私は現在PDOに取り組んでいます。まさにbindParam()関数です。3番目のパラメーターdata_typeは、値の型を強制するためにここにあるようです。しかし、私が試してみると:

データベースにPHPエラーまたは整数が含まれていると予想していました。しかし、私のDBには:

22テスタロッサフェラーリ23250GTOフェラーリ

これは、3番目のパラメーターがあるかどうかに関係なく変更されなかったことを意味します。または多分私は何かが恋しいです。誰かが私をもっと苦しめることができますか?または、誰かが私にそれに関する情報を見つけることができる場所を教えてもらえますか?

よろしく、

サイラス

それがまさに私の状況です。私の考えはどこで間違っていますか?

0 投票する
6 に答える
5804 参照

java - % サインイン Java の PreparedStatement

これは同じように機能しますか...

または、PreparedStatement は % 記号を取り除きますか?

0 投票する
2 に答える
3860 参照

php - PHPから、トランザクション全体で準備済みステートメントを使用できませんか?

私はLAPP環境(linux apache postgresql php)で作業しており、トランザクション内で準備されたステートメントを使用する方法を見つけようとしています(可能な場合)。

コードが言葉よりもよく説明してくれることを願っています:

例 1、単純なトランザクション:

上記の例では、トランザクションを正しく理解していない場合、データベースでの唯一の影響は last_activity の更新になります... ええ?

そのトランザクションを php で (PDO または pg_ メソッドの両方で) 使用しようとすると、コードは次のようになります (例 2):

そして、それはうまくいきます。見にくいかもしれませんが、機能しているようです(提案はいつでも歓迎します) 。

とにかく、私の問題は、例2を準備済みステートメントで包囲しようとすると発生します(例2では、​​準備済みステートメントの使用はあまり役に立たないことを知っています)

例 3:

例 3 は単純に機能しません。トランザクションがロールバックされる場合、準備されたステートメントは有効になります。

それで、準備されたステートメントはトランザクションで使用できませんか、それとも間違った方法をとっていますか?

編集:

PDOでいくつか試した後、私はこの時点に到達しました:

上記のコードは、次の出力で失敗します。

array(3) { [0]=> string(5) "00000" [1]=> int(7) [2]=> string(62) "エラー: 重複キーが一意の制約 "id_h_orders" に違反しています" }

array(3) { [0]=> string(5) "25P02" [1]=> int(7) [2]=> string(87) "エラー: 現在のトランザクションは中止されました。トランザクション ブロックが終了するまでコマンドは無視されました" }

致命的なエラー: 23 行目の /srv/www/test-db/test-db-pgsql-08.php の非オブジェクトに対するメンバー関数 fetch() の呼び出し

したがって、最初の実行が失敗したとき (ID 293 のもの) のように見えますが、トランザクションは自動的に中止されます... PDO は自動ロールバックしますか?

私の目標は、最初の大きな while ループを完了し、最後に bool var をフラグとして使用して、トランザクションをロールバックするかコミットするかを決定することです。

0 投票する
22 に答える
230693 参照

php - 配列をIN()条件にバインドできますか?

PDOを使用して値の配列をプレースホルダーにバインドできるかどうか知りたいです。ここでのユースケースは、IN()条件で使用するために値の配列を渡そうとしています。

私はこのようなことをしたいと思っています:

そして、PDOにバインドさせ、配列内のすべての値を引用します。

現在、私は次のことを行っています。

確かにどちらが仕事をしますが、私が欠けている組み込みのソリューションがあるかどうか疑問に思っていますか?

0 投票する
2 に答える
1388 参照

mysql - 実行中のMysql Prepare Statementエラー

準備ステートメントを使用してテーブルを作成しようとしていますが、構文エラーが発生しています。同じステートメントを個別に実行しようとすると、うまくいきます。

これが私の声明です -

この声明で何が欠けているのか誰か教えてください。この行でエラーが発生しています:

0 投票する
4 に答える
1922 参照

php - mysqli->prepare 関数が null を返す

再現する簡単な方法がないため、これはひどい質問です。ただし、私は Zend Framework を使用して OS X 上の MySQL データベースに接続しています。mysqli オブジェクトで prepare 関数を呼び出すと、null が返されることがあります。prepare 関数の指定された戻り値は false またはステートメント オブジェクトです。

準備ステートメントが失敗する理由に関する情報を探すために、他にどこを探すべきかわかりません。準備プロセスを可視化して、失敗の理由を確認する方法はありますか? トランザクションが開いている間に、すべての問題が発生します。

詳細が不足していて申し訳ありませんが、なぜこれが起こっているのかを突き止めることはできません.

0 投票する
4 に答える
245 参照

java - パフォーマンス面でどちらのアプローチが優れていますか? (JDBCのプリペアドステートメントでの可変パラメータマーカーの使い方について)

私の目的は、Emp テーブルから特定の従業員の DeptNames を取得することです。しかし、従業員の数はさまざまです。以下のアプローチが正しいかどうか、および以下のアプローチのどれがパフォーマンスの面で優れているかを教えてください。それとも、それについてもっと良い方法がありますか?

または

または、これを行うための他の良い方法はありますか? ご意見をお聞かせください。前もって感謝します!

ラビラ

0 投票する
4 に答える
4578 参照

java - バインド変数で GROUP BY を使用することは可能ですか?

次のようなクエリを発行したい

:1バインド変数です。を使用してPreparedStatement、私が言うなら

f(?, col2)GROUP BY 式ではないという DBMS からのエラーが表示されます。

JDBCでこれを通常どのように解決しますか?