問題タブ [sqlbindparameter]

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 に答える
59 参照

sql - クエリで同じ値を複数回バインドできますか?

次のようなバインド パラメータの使用には、何らかの (アンチ?) パターンがあるようです。

つまり、本当に必要なのは$var1、クエリで値を 2 回使用することです。$var1バインド パラメータ リストで 2 回指定しないようにする方法はありますか?

0 投票する
1 に答える
36 参照

sql - クエリの実行中に、SQLバインドを必要に応じて評価できる方法/プラットフォームはありますか?

コンテクスト:

大きなクエリ(疑似)があるとしましょう:

クエリで使用されていないが、出力を出力したい場合を想定しましょう(これはばかげたユースケースですが、句が実行されるまで必要ないことがboundthingわかっている点を示しています)。boundthingWHERE

現状では、選択したプログラミング言語でクエリに値を渡すと、boundthing後でデータベースによって実際に「使用」されるかどうかに関係なく、クエリを実行したときに評価されます。

質問:

(既存のデータベース/プログラミング言語で)評価するバインドスタイルのものをオンデマンドで設定する方法はありますか(つまり、ソースが変数であるか関数であるかにかかわらず、バインドされた変数の値を生成します)クエリプランが作成されるときではなく、クエリ?

たとえば、アプリケーションの擬似コードでは次のように言うことができます。

また、出力の「boundthing」の値は、句がすべてをフィルタリングした後のアプリケーションサーバーのタイムスタンプに 対応します(アプリケーションサーバーのランタイムを差し引いたものですが、データがデータベースサーバーに到達するまでにかかった時間はどれくらいですか)。およびデータベースによって処理されます)。WHERE myfunc

知りたい理由:

好奇心。

このようなものは、クエリプランナーによって提供される効率の多く(おそらくすべて)をおそらく破壊することを私は知っています。クエリで値が必要になったときにバインドの評価が正確に実行されるという保証はありません(値の送信時間、データベースでの処理時間など)。また、多くの原子性の保証に違反しており、中絶や停止の場合に深刻な問題を引き起こす可能性があることも知っています。

それでも、私は興味があります。

0 投票する
1 に答える
231 参照

php - 可変数の引数を受け入れるように bind_param を取得する方法はありますか

PHP用のmysqlクエリラッパー関数を作成しようとしています.SQLでMySQLクエリを実行するための最良の方法であるため、現在、準備済みステートメントを使用しようとしています.これまでのところ、これは私が持っているものです.

の構造$queryはこんな感じ

そして何$queryができるかの例はこれです

ご覧のとおり、私がやろうとしているのは、クエリが何であるか、使用する引数の数に関係なく、関数で任意のクエリを許可することです。

今私の関数では、 for each の後の次のステップは使用すること$prep->bind_param($dtString, [VALUES]);ですが、各値は関数内の個別の引数であり、物事を台無しにすることを読みました

bind_param関数で可変数の引数を受け入れる方法があるかどうか疑問に思っています

私の現在の解決策は、別の関数を作成し、関数に引数として $arguments を渡し、my for each を新しい関数に移動し、サイズをカウントして作成した後、複数の異なる数の引数を$dtString持つスイッチ ケースを作成することです。bind_paramこれ

しかし、私はむしろこのようなコードを書く必要はありません

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

mysql - 複数の bindParam を mySQL 幅の PDO に組み合わせる

私は PDO が初めてで、実際には少し複雑です。

これらのパラメーターを組み合わせることは可能ですか

1つの配列に?意味があるのか​​、そのままにしておくべきなのか。

0 投票する
0 に答える
942 参照

php - PDO bindParam bindValue バイナリ データ型 yii php

SQL Server 2005 を使用しています。テーブルの列 (id) のデータ型はバイナリ (16) です。

それを選択すると、結果は文字列になります。たとえば、id の実際の値は 0x65589D8124FA6348A61757A5A93FE9F2 で、戻り値は 65589D8124FA6348A61757A5A93FE9F2 で、その型は文字列です。

今、bindParam で行を更新しようとしていますが、データ型を PDO::PARAM_LOB として入れても、最終的には何もしません。

助けてください。

常に 0 を返します

助言がありますか

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

php - PHP bindParam() は一括挿入を高速化しますか?

私は 4,000 行を含む .txt ファイルを持っています。それらを mysql に挿入しようとしています。同じことを行う 2 つのアプローチがあります。最初のアプローチは次のように単純にコーディングされています。

116 秒かかります。2 番目の方法は PDO::bindParam() を使用することです。SQL クエリを繰り返す場合は、bindparam() を使用することをお勧めします。これは、各クエリの唯一の違いはそれらの値であるため、次のようにコーディングしたためです。 :

2 番目のアプローチは最初のアプローチよりも高速であると思われますが、結果は私が思っていたものとは異なりますが、bindparam() は本当に一括挿入を高速化するのか教えてもらえますか? または、bindparam() を使用するときに何が間違っている可能性がありますか? ?

0 投票する
1 に答える
121 参照

ruby - ruby sqliteエラー 'insure in insert_row':未定義のローカル変数またはメソッド 'stmt'

私はdbmgr ruby​​クラスに次のメソッドを持っています。これをループ内で使用して、csvからsqlite3 dbにデータを挿入します。

最初の挿入後にコンソールでこれを行うと、次のエラーが表示されます。

最初は、sqlite の ruby​​ の prepare および bind_params 機能を使用しませんでした。ただし、テキスト内の「 ' 」などの文字の後に、生成された例外を挿入していたので、bind_params を使用すると入力が消去されることをどこかで読んだので、bind_params を使用しました。しかし、今はこのエラーが発生しています。

誰か助けてくれませんか?

ありがとう