2011-01-28 6 views
0

このクエリを修正する手助けをしてくれる人がいますか? 私は何のエラーをしたのか分かりません。クエリが実行されていません

http://php.net/manual/en/language.types.string.php

+0

ため

を使用してあなたが得るすべてのエラーと実際、生成されたSQLクエリをご提示ください。そして、あなたの質問は[SQLインジェクション](http://stackoverflow.com/questions/4749588/protect-against-sql-injection) –

+0

に脆弱であるかもしれません。さもなければ、あなたは次の質問に多くの助けを得ることはありません – Christophe

答えて

2

"クエリ

$sql = "INSERT INTO docs VALUES('".$_POST['inputString']."','".$_POST['inputStringa']."','".$_POST['inputStringa1']."','".$_POST['inputStringa2']."','".$_POST['inputStringa3']."','".$_POST['inputStringa4']."')"; 

または削除vulnerablities

mysql_query("insert into docs values (' { $_POST['inputString'] }' ,'{$_POST['inputStringa']}',' {$_POST['inputStringa1']}','{$_POST['inputStringa2']}', 
'{$_POST['inputStringa3']}','{$_POST['inputStringa4']}')") ; 
3

...私を助けてください。正しくない。一重引用符と二重引用符が混在しています。また

mysql_query("insert into docs 
values('{$_POST['inputString']}','{$_POST['inputStringa']}', 
'{$_POST['inputStringa1']}','{$_POST['inputStringa2']}', 
'{$_POST['inputStringa3']}','{$_POST['inputStringa4']}')") ; 

、このようなmysql_real_escape_stringを介してすべてのPOST変数を通過することを忘れないでください:このようにそれを行う

$_POST['inputString'] = mysql_real_escape_string($_POST['inputString']); 

は、クエリを実行する前にこれを行います。

4

あなたの引用符は、次のとおりです。このコードは動作しませんなぜあなたは発見するでしょう、文字列のPHPマニュアルのエントリを読み、基本的な構文を学ぶ

insert into docs values('"$_POST['inputString']"','"$_POST['inputStringa']"','"$_POST['inputStringa1']"','"$_POST['inputStringa2']"','"$_POST['inputStringa3']"','"$_POST['inputStringa4']"')" ; 
1

一重引用符と二重引用符の両方を使用すると、そのことはできません。次のように値を連結する必要があります。

$sql = "INSERT INTO docs VALUES('".$_POST['inputString']."','".$_POST['inputStringa']."','".$_POST['inputStringa1']."','".$_POST['inputStringa2']."','".$_POST['inputStringa3']."','".$_POST['inputStringa4']."')"; 

mysql_query($sql); 
関連する問題