-6

私はこのエラーが発生しています:

解析エラー: 解析エラー、予期しない T_ENCAPSED_AND_WHITESPACE、12 行目の C:\Programe\xampplite\xampplite\htdocs\insert.php の ']' が必要です

この行で:

$sql="INSERT INTO tada (Nume, Prenume, Adresa, Tel, Anul, Nr.pantof) VALUES ('$_POST[Nume]','$_POST[Prenume]','$_POST[Adresa]','$_POST[Tel]','$_POST[Anul]','$_POST[Nr.pantof]')";

どうすれば修正できますか?

4

2 に答える 2

4

xkcd

代わりにこれを試してください (コードの品質が悪いため、まだ古いmysql拡張機能を使用していると仮定します):

$enc = "mysql_real_escape_string";
$sql = "INSERT INTO `tada` (`Nume`, `Prenume`, `Adresa`, `Tel`, `Anul`, `Nr.pantof`)
        VALUES ('".$enc($_POST['Nume'])."', '".$enc($_POST['Prenume'])."',
        '".$enc($_POST['Adresa'])."', '".$enc($_POST['tel'])."',
        '".$enc($_POST['Anul'])."', '".$enc($_POST['Nr.pantof'])."')";

`また、列名の前後にバッククォートを追加したことにも注意してください。そうしないと、MySQL は、named のテーブルにアクセスして、namedNrのカラムを見つけよpantofうとしたでしょう (または、おそらく独自の解析エラーで停止したでしょう)。

将来的には、基本原則を学びましょう!Google には PHP/MySQL チュートリアルの文字通り何百万もの検索結果があります。それらを使用してください!

于 2013-02-07T18:43:48.427 に答える
2

配列変数を文字列に埋め込むには、次の構文を使用する必要があります。

"... {$array['key']} ..."

それ以外の:

 "... $array['key'] ..."

配列などの通常の変数以外のすべてに中括弧を使用する必要があります。

{$a['key']}

またはオブジェクト:

{$a->var}
于 2013-02-07T18:41:09.230 に答える