解析错误:解析错误,意外T_ENCAPSED_AND_WHITESPACE,在第12行的C:\ Programe \ xampplite \ xampplite \ htdocs \ insert.php中期待']'

时间:2013-02-07 18:37:45

标签: php

我遇到了这个错误:

  

解析错误:在第12行的C:\ Programe \ xampplite \ xampplite \ htdocs \ insert.php中解析错误,意外的T_ENCAPSED_AND_WHITESPACE,期待']'

在这一行:

$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]')";

我该如何解决?

2 个答案:

答案 0 :(得分: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会尝试访问名为Nr的表来查找名为pantof的列(或者可能因其自己的解析错误而死亡)。

将来,学习基本原则!实际上有search results for PHP/MySQL tutorials on Google的数百万,使用它们!

答案 1 :(得分:2)

要在数组中嵌入数组变量,您应该使用以下语法:

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

而不是:

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

除了普通变量(如数组)之外的其他所有内容,您应该使用大括号:

{$a['key']}

或对象:

{$a->var}