2016-09-08 10 views
0

SQLを使用してテーブルにデータを送信するPHPドキュメントを実行するHTMLページを取得しようとしています。変数はhtmlページ(私はプロジェクトの私の一部ではないと思います)にあり、PHPドキュメントを実行します。これらの変数はphpのこの行以外のどこにもありません。SQL INSERT文でPHP/HTMLで変数を使用するには

私のコードはおそらく非常に間違っているでしょう。 VALUESのために私は何をしますか?構文は正しいですか? HTML/PHPからSQL INSERT文とVALUES文に変数をインポートするにはどうすればよいですか?

私はここにnoobのビット、申し訳ありません。

$sql = "INSERT INTO tablename (id, last_name, first_name, username, password, gender, age) VALUES()"; 
+0

INSERT => http://dev.mysql.com/doc/refman/5.7/en/insert.html –

+1

mysqlまたはSQL-Server? – Jens

+0

HTMLコードも投稿できますか? – Rhopercy

答えて

0

まず、HTMLフォームからの要求を使用してデータを取得する必要があります(ここではhttp://www.w3schools.com/php/php_forms.aspを続きを読みます)。あなたは、HTMLはあなたのプロジェクトの一部ではないと言った、あなたは少なくとも、PHPに解析されている値の名前を知っていますか?見つからなければ、調べる必要があります。

次に、phpの$_REQUESTグローバル配列から値を取得する必要があります。たとえば、値のonの名前が 'name'の場合は$_REQUEST['name']を使用します。あなたのクエリにそれらの値を挿入するという点で

は、あなただけのクエリ文字列に直接それらをジャムでしたが、私と他の人は非常に非常には、SQLインジェクション攻撃から保護するためにパラメータ化を使用することをお勧めします:http://www.w3schools.com/sql/sql_injection.asp

希望に役立ちます。

+0

ありがとう、これは非常に役に立ちます。これは閉鎖されたシステム上で動作するため、私たちは本当に攻撃に関心がありません。私は本当に '$ _REQUEST'の値をどのようにクエリに入れるのか分かりません。私はこれを考えすぎるかもしれない。 –

+0

あなたがする必要があるのは、リクエスト配列からphpの変数に値を設定し、それをあなたのクエリにバングするだけです。 名前フィールドを処理する場合は、 '$ name = $ _REQUEST ['name']'のようなものを使用します。次に、parameterisationを使って値を追加することができます: '$ sql =" INSERT INTO tablename(name)VALUES(:name) "; $ db_object-> preapre($ sql); $ db_object-> bindParam( "name"、$ name); 'もし本当にセキュリティ上の懸念があると思っていなければ、変数をクエリに直接入れることができます:' $ sql = "INSERT INTO tablename(name)VALUES($ name) "; ' – OwenJones

+0

これは私が知る必要があったものです。ありがとうございます。このプロジェクトは一般に公開されないため、セキュリティは問題ではありません。しかし、まだ、情報に感謝します。 –

関連する問題