問題タブ [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 投票する
1 に答える
110 参照

php - MySQLi の準備済みステートメントが何も返さない

リテラルquery呼び出しから準備済みステートメントに移行しようとしています。

クラスに次の機能があります。

phpMyAdmin から、データベースに ID 1 の行があることはわかっていますが、呼び出すread(1);num_rows0 になります。

ただし、このロジックを使用すると:

代わりに1を取得します。

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

c++ - SQLBindParameterをメンバー変数に設定するのは標準ですか

そこで、プログラムの出力をデータベースにダンプする誰かのクラスのコード レビューを行っています。そのため、彼らはstruct Fooたくさんのメンバーのリストを取得しています。現在、クラスにメンバー変数があり、各呼び出しで値をコピーしており、SQLBindParameter テーブルは変更していません。

これは私には正気ではないように思えますが、正直なところ、私はデータベースのことを知りません。私は単なる C++ プログラムです。それを行う正しい方法と思われるのは次のとおりです。

このようにして、書き込み呼び出しには、これらの奇妙な副作用とすべての余分な変数がありません。foo には実際にはより多くの変数 (10 個) があるため、これはより賢明に思えます。私はここで間違っていますか?

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

php - bind パラメータで結合変数を使用しても機能しない

複数の変数を 1 つに結合した php 変数を使用し、その変数をバインド パラメータで使用すると、機能せず、エラーが表示されます。

説明させてください:

投稿データ、SQL 列、SQL テーブルの詳細を次のような変数に格納しています。

SQL Prepare ステートメントは次のようになります。

上記はこれまでのところ機能します。$sqlValuesしかし、bind ステートメントで結合変数を使用すると、機能しません。

上記は機能しません。次のエラーが発生します。

しかし、bind_param をこれに変更すると、次のように動作します。

では、なぜ機能しないのですか?エラーは、要素の数が一致していないことを示していますが、 を使用する$sqlValuesと、その中に 4 つの要素を入力する必要がありますか?

なぜ私が変数を使用しているのか疑問に思っている場合は、将来の編集を容易にするためであり、残りの SQL クエリをそのままにしておくことができます。

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

php - セキュリティのためにすべての結果を取得するときに、結果をバインドする必要がありますか?

私は MySQL にかなり慣れていないので、これがばかげた質問のように聞こえる場合は申し訳ありません。

SQL のセキュリティと SQL インジェクションの防止について学んでいたとき、次のような ID の結果をフェッチするときに bindparam を使用する方がよいことを学びました。

Atm、すべての結果を取得するときは、これを使用しています:

私の質問は:

bind_result1) 2 番目のコードでは、最初の例と同様に、セキュリティ上の理由からすべての結果を取得するときに使用する必要がありますか?

bind_result2) はいの場合、すべての結果を取得して使用していないときに、どのように準備ステートメントを使用でき$idますか?

3) すべての結果を取得するために 2 番目の例を使用した場合、セキュリティ上の問題はありますか?

これを理解するのを手伝ってくれませんか...

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

php - テーブルに少数の列のみを挿入するにはどうすればよいですか?

テーブルに値を動的に挿入するつもりなので、テーブルのいくつかの列に値を挿入したいだけで、まったく挿入したくありません。セキュリティを強化するためにMYSQLiメソッドを使用することにしたので、bind_param()関数内で「準備されたステートメント」を空またはデフォルト値に表す方法がわかりません。

login、password、access_level の値を渡すだけです。

コードの一部を次に示します。