【问题标题】:Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting ']' in C:\Programe\xampplite\xampplite\htdocs\insert.php on line 12 [closed]解析错误:解析错误,意外的 T_ENCAPSED_AND_WHITESPACE,在第 12 行的 C:\Program\xampp lite\xampp lite\htdocs\insert.php 中期待 ']' [关闭]
【发布时间】:2013-02-07 18:37:45
【问题描述】:

我遇到了这个错误:

解析错误:解析错误,意外的 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]')";

我该如何解决?

【问题讨论】:

    标签: php


    【解决方案1】:

    试试这个(假设你的代码质量很差,你仍在使用旧的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}
    

    【讨论】:

    • {$array[key]} 也可以,但是出于可读性原因,嵌入变量通常不是一个好主意。
    猜你喜欢
    • 2014-09-01
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    相关资源
    最近更新 更多