-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 会尝试访问一个名为的表Nr来找到一个名为的列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 回答