我遇到了这个错误:
解析错误:在第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]')";
我该如何解决?
答案 0 :(得分:4)
请尝试使用此功能(假设您的代码质量较差,您仍在使用旧的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}