問題タブ [bindvalue]

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 投票する
2 に答える
17356 参照

php - bindValue() と bindParam() の混乱?

私はこれら2つの機能Bindvalue()を混同していますBindParam()

  1. %私は php.net でそれがエスケープしないことを読んだ_ので、使用するときは注意してLIKEください。BindValue()したがって、LIKEクエリを使用している場合は使用されないと思います。
  2. LIKEクエリを使用する場合に使用BindParam()されます。私が知っているように、BindParam はこれら%_.
  3. BindValue()SQL インジェクションに対する保護は提供しません。これについてはよくわかりませんが、本当ですか?

友人は、私がこれらの 3 点で言及したことが正しいか間違っているかを教えてくれます。私はPDOの初心者なので、わかりやすく説明してください..

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

php - PDOPHPbindValueが機能しない

これが1000回聞かれたことは知っていますが、どういうわけか私は壁に頭をぶつけ続けています。

これは機能します:

これはしません:

私は何が欠けていますか?ありがとう

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

php - このインスタンスで PDO::bindValue() が失敗しないのはなぜですか?

キーと値のバインドを使用して SQL ステートメントを作成および実行するために、次の関数を作成しました。bindValue() を使用して、キーと値のペアの配列を SQL 文字列内の対応する識別子にバインドしています。(echo ステートメントはデバッグ用です)。

この関数への入力は次のとおりです。

$bindings 配列の 2 番目のループでは、$success が false と評価されると予想し、入力 SQL に " " が存在しないため "Bar" を " :Foo"にバインドできないため、カスタム例外をスローします。:Foo

代わりに、$success は $bindings 配列の両方のキーと値のペアに対して true (1) と評価され、->execute() によって PDOException がスローされます。"(HY000)SQLSTATE[HY000]: General error: 25 bind or column index out of range"

bindValue が false を返さないのはなぜですか?

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

php - テーブル名の bindValue の方法は?

テーブル名に対して bindvalue を実行することは可能ですか? 私は基本的にそれを拾っていないようです:テーブルを削除して代わりにテーブル名を追加すると、2番目の2つのバインドは正常に機能しますが、これを同じフォームの複数のテーブルに使用したいです。

フォームのテーブルのフィールドは前のクエリの結果から定義されているため、テーブル名はフォームに $table として値として表示され、正しく表示されるため、$table の値をテーブル バインドにポストする必要があります???

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

php - PDO bindValue() is not binding

The idea of the following script is to add or remove a date to / from a datebase based on the user clicking on a date in the jQuery UI datepicker calendar which I have set up to pick up the date clicked.

I am sending a jQuery.post() to a php page that contains the following code.

The issue is that the value I pick up in the $_POST[] variable will not bind to the PDO->prepare statement and I end up just adding 0000-00-00 to my database!

}

If I output the received $_POST['edit_date'] I see the correct value (e.g. 2013-03-01).

If I output the SELECT statement after binding I see:

Does this mean it has not bound the actual value to :date ?

Even seeing the above showing :date it does seem to be doing its job as I get the correct number of rows back based on whether it found the date or not.

Based on the number of returned rows it then drops into the correct if / else block. But will then show me for example:

And I input the 0000-00-00 date as mentioned above.

It's begining to drive me round the bend !

Is it binding even though it's not showing me in the output? And if it is why is it using 000-00-00 rather than my actual values?

Thank you!

EDIT... In case it is helpful the jquery post from the other page looks like this:

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

php - 配列に値をバインドする方法は?

データベースの列に挿入するものがたくさんあります。

それらすべてをバインドする代わりに、配列を作成しました。

この配列から各変数を取得してバインドするにはどうすればよいですか? 私はPDOで完全に迷っています。

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

php - bindValueとexecute(array())の違いは何ですか?

私はbindValueとexecute(array())を使用することの違いを知るように促してきました-y。

さて、私はこのコードの例を持っているとしましょう

これの違いは何ですか?

コード行の保存に関係なく。

助けていただければ幸いです。

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

php - bindValue がクエリを壊すのはなぜですか?

以下のコードでは、(ユーザーから取得した) タグを SQL クエリにバインドしようとしています。

次の形式でクエリを実行します。"tag1","tag2","tag3"

bindValue クエリなしでこれを実行すると、期待どおりに機能します。しかし、それらを でバインドするとbindValue()、コードが機能しません。SQL は空の結果を返します。

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

php - 'where in' 句の PDO bindvalue が機能しない

「where in」句を使用してトップ情報を取得しようとしていますが、bindvalue または bindparam を使用すると結果が得られません。

結果が得られないクエリは次のとおりです

bindvalues または param なしで直接検索を使用すると、結果が得られます

この検索の「where in」句で bindvalue または param を使用するのを手伝ってくれる人はいますか?

@PhilCrossこれは、var_dumpを使用すると得られるものです。

Ps: MSSQL Server を使用しています