4

免責事項

私の無知を許してください。私は12年以上C#を作成しており、.NETフレームワークとオブジェクト指向プログラミングに非常に慣れています。エンタープライズアプリケーションのバックグラウンドも豊富ですが、これは私の最初の試合です。 PHP。

質問

prepare了解しました。関数を使用してを発行する方法を理解しようとしていmysql_queryますが、2つと2つを組み合わせることができません。今、私はこのように接続します:

mysql_connect('xxx.x.x.x:xxxx', 'x', 'x');
mysql_select_db('x');

そしてそれは成功しています。

ここで、いくつかのデータを挿入したいので、mysql_query関数を調べていますが、SQLインジェクションを防ぐためにパラメーター化されたクエリを送信する方法がわかりません。私のコードは現在次のようになっています:

mysql_query("INSERT INTO users (email, password, ...)
    VALUES (:email, :password, :...)

しかし、値の配列をそれに渡すにはどうすればよいですか?

追加の質問

ユーザー入力を介して受け取るすべての値を使用mysql_real_escape_stringしている場合、パラメーター化されたクエリの発行について心配する必要がありますか?

4

2 に答える 2

3

これを行うには、 PDO (または mysqli) を使用するのが最善です。ただし、 bobby-tables の Web サイトには、PDO、mysqli、adodb などを使用した例があります。bindValue()の PDO doco を読むことをお勧めします。これにより、必要なものが得られます。

于 2012-12-08T01:52:55.143 に答える
2

私のコメントで述べたように、mysql_ 関数は廃止されています。mysqli_ または PDO を使用して、SQL インジェクションを防止するパラメーター バインディングを許可する必要があります。

于 2012-12-08T02:03:10.007 に答える