2009-03-22 9 views
0
$author = $_SESSION['username']; 
$subject = $_POST['subject']; 
$body = $_POST['body']; 
$branched = $_POST['branched']; 
$time = time(); 
$branchedFrom = $_POST['parent']; 
$id = $_POST['parent']; 
$next = 0; 
$previous = 0; 
$branchedTo = 0; 
mysql_query("INSERT INTO offtopic VALUES('', '$author', '$subject', '$body', '$time', '$next', '$previous', '$branchedFrom', '$branchedTo'"); 

私は何度も試してみましたが、いくつかのものを変更しようとしましたが、情報をデータベースに保存しません。 最初の空白は、インデックスがデータベース内にある場所です。 セッションとPOSTのものは、私はかなり確実に正しく渡されます。私のMySQLデータベースの挿入が機能しないのはなぜですか?

答えて

4
"INSERT INTO offtopic VALUES('', '$author', '$subject', '$body', '$time', '$next', '$previous', '$branchedFrom', '$branchedTo'" 

文字列の中に ')'がありません。 mysql_error()を使用してエラーメッセージを受け取ってください。このような単純な構文エラーは明らかです。

また、バスを運転することができるSQL injectionセキュリティホールがあります。文字列に連結する各文字列の値に対してmysql_real_escape_string()を呼び出すか、mysqli parameterised queriesを使用する必要があります。

+0

を挿入するフィールドをことをするので多分それはあります。それはひどくバギーです。 – cletus

1

クエリ不足しているが、私はmysqliのをあきらめました

"INSERT INTO offtopic(field1, field2, etc....) VALUES('', '$author', '$subject', '$body', '$time', '$next', '$previous', '$branchedFrom', '$branchedTo'"); 
関連する問題