如何在PHP中检测语法错误?

时间:2014-12-09 11:13:14

标签: php syntax-error php-parse-error

我遇到了一个名为

的PHP语法错误
  

解析错误:语法错误,意外''(T_ENCAPSED_AND_WHITESPACE),期望标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)在第189行的C:\ xampp \ htdocs \ playit2 \ rental_list.php

第189行是

$jsql_ae3 = mysql_query("select products.formats from products where products.id='$jrowa2['id']'") or die(mysql_error());

8 个答案:

答案 0 :(得分:2)

使用带有语法突出显示的PHP IDE,例如NetBeans或PHPStorm。

在这种特殊情况下,您可以在单引号和数组访问之间插入一对括号来修复此行:

$jsql_ae3 = mysql_query("select products.formats from products where products.id='{$jrowa2['id']}'") or die(mysql_error());

答案 1 :(得分:2)

使用数组和函数,您需要使用大括号:

$jsql_ae3 = mysql_query("select products.formats from products where products.id='{$jrowa2['id']}'") or die(mysql_error());

答案 2 :(得分:2)

使用像这样的数组时

$jrowa2['id']

在带双引号的字符串中,PHP你做插值并尝试解释它,但是,在这种情况下,你不能使用键周围的简单引号,你只需要写密钥(因为它已经在内部了字符串),然后,你只需使用

$jrowa2[id]

答案 3 :(得分:1)

应该是 -

"select products.formats from products where products.id='$jrowa2[id]'"

答案 4 :(得分:1)

随此改变

$jsql_ae3 = mysql_query("select products.formats from products where products.id='$jrowa2[id]'") or die(mysql_error());

答案 5 :(得分:0)

php_check_syntax应该为你完成这项工作。但是,只有在您运行PHP> = 5.05时才会这样。评论部分的第一条评论将向您展示如何实施。

答案 6 :(得分:0)

$jsql_ae3 = mysql_query("select products.formats from products where products.id='".$jrowa2['id']."'") or die(mysql_error());

答案 7 :(得分:0)

试试这个。

 $jsql_ae3 = mysql_query("select products.formats from products where products.id="$jrowa2['id']"") or die(mysql_error());

希望这有帮助。