2016-06-15 12 views
-4

私はどこでも答えを探していましたが、なぜこの行の解析エラーが続くのか分かりません。構文エラー:予期しない構文エラーT_VARIABLE、INSERT INTO、php

$sql = "INSERT INTO NIMET(NIMI) VALUES("$_POST['fname']")"; 

なぜこの行に解析エラーが生じるのですか?

+1

私はPHPで文字列を使用する方法にまで読んでお勧めしたいです。 http://php.net/manual/en/language.types.string.php –

+3

うまくいかないことがあります。これはSQLインジェクションには広く開いています。このエラーはあなたが知る必要があることをすべて示しています。 '$ _POST ['fname']'は予期しないものです。あなたは '' 'を取り除き、複雑な変数' {} 'として使用しますが、それを行うべきではありません。 – chris85

答えて

0
$sql = "INSERT INTO NIMET(NIMI) VALUES(".$_POST['fname'].")"; 

文字列を組み合わせるには、.を使用する必要があります。

もfanzy方法はありますが、そのためにあなたは、PHPから新十分なバージョンが必要です。

$sql = "INSERT INTO NIMET(NIMI) VALUES({$_POST['fname']})"; 

私はあなたがそのために必要なPHPのバージョンが5.3または5.6のどちらかだと思いますが。しかし私はそれについてshureではない。

さらに:$_POSTまたは$_GETの無効なデータをDBに挿入しないでください。これは悪質なコードを挿入するために使用される可能性があります。

1

使用.はこのように、2つの文字列を連結するには、次の

$sql = "INSERT INTO NIMET(NIMI) VALUES(".$_POST['fname'].")"; 
関連する問題