0
$sSql = "INSERT INTO comments
     ( post_id,name, email, website,content)
     VALUES (".$_POST[postid]",'".$_POST[name]"', '".$_POST[email]"', '"$_POST[website]"',  '"$_POST[content]"')";

次のエラーが表示されます。誰でもこれを修正するのを助けることができますか? 解析エラー: 構文エラー、コード内の予期しない T_CONSTANT_ENCAPSED_STRING

4

6 に答える 6

2

文字列が正しく連結されていません。.$_POST[] の前後にいくつか欠落しています

于 2012-07-09T00:01:27.127 に答える
0

エラーがstring concatenation行方不明.にあり、配列がありませんqoutes

$sSql = "INSERT INTO comments
 ( post_id,name, email, website,content)
 VALUES (".$_POST['postid'].",'".$_POST['name']."', '".$_POST['email']."', '".$_POST['website']."',  '".$_POST['content']."')";

mysql_escape_stringSQL インジェクションを回避するために使用し、 SQL インジェクションを回避する最善の方法です。

于 2012-07-09T00:00:41.007 に答える
0

2 つのピリオドでラップする必要があります。.$_POST[postid].

$_POSTまた、 SQL インジェクションの対象となる可能性があるため、パラメーターを必ずエスケープしてください。

于 2012-07-09T00:00:53.300 に答える
0

$_POST は連想配列として使用する必要があります。したがって、キーは引用符で囲む必要があります: $_POST['key']

于 2012-07-09T00:01:09.013 に答える
0

これは、いくつかのドットを忘れたためです。予期しない文字列がクエリで開始されています。

$sSql = "INSERT INTO comments
     ( post_id,name, email, website,content)
     VALUES (".$_POST['postid'].",'".$_POST['name']."', '".$_POST['email']."', '".$_POST['website']."',  '".$_POST['content']."')";

データベースに入れる前にユーザー入力をエスケープしてください。arraykeys に注意してください。php はそれらを定数として受け取り、この名前の定義された定数を見つけることができず、これが文字列でなければならないと想定するため、それらを '' に設定しなくても機能します。不要。

于 2012-07-09T00:01:51.053 に答える
0

これを使用してください。あなたは引用符とドットを忘れます。

$sSql = "INSERT INTO comments ( post_id,name, email, website,content) VALUES (".$_POST['postid'].",'".$_POST['name']."', '".$_POST['email']."', '".$_POST['website']."',  '".$_POST['content']."')";
于 2013-04-04T10:57:58.260 に答える