本问题已经有最佳答案,请猛点这里访问。
我有一个PHP语法错误
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\playit2
ental_list.php on line 189
第189行是
$jsql_ae3 = mysql_query("select products.formats from products where products.id='$jrowa2['id']'") or die(mysql_error());
你试过把where products.id='$jrowa2['id']'"改成where products.id='{$jrowa2['id']}'"吗?
当您使用这样的数组时
$jrowa2['id']
在包含双引号的字符串中,php执行插值并尝试解释它,但在本例中,不能使用围绕键的简单引号,只需编写键(因为它已经在字符串中),然后,只需使用
$jrowa2[id]
对于数组和函数,需要放置大括号:
$jsql_ae3 = mysql_query("select products.formats from products where products.id='{$jrowa2['id']}'") or die(mysql_error());
您也可以使用$jrowa2[id],尽管大括号可以减少歧义。
使用语法突出显示的php ide,如netbeans或phpstorm。
在这种特殊情况下,可以在单引号和数组访问之间插入一对括号来修复此行:
$jsql_ae3 = mysql_query("select products.formats from products where products.id='{$jrowa2['id']}'") or die(mysql_error());
它不需要是一个IDE。带有语法突出显示的源代码编辑器就足够了,比如记事本++。至少对我来说已经足够了。
用这个换
$jsql_ae3 = mysql_query("select products.formats from products where products.id='$jrowa2[id]'") or die(mysql_error());
应该是——
"select products.formats from products where products.id='$jrowa2[id]'"
试试这个。
$jsql_ae3 = mysql_query("select products.formats from products where products.id="$jrowa2['id']"") or die(mysql_error());
希望这有帮助。
$jsql_ae3 = mysql_query("select products.formats from products where products.id='".$jrowa2['id']."'") or die(mysql_error());
请为其他读者提供更多信息!
PHP检查语法应该为您完成这项工作。但是,只有在运行php>=5.05的情况下才需要这样做。注释部分中的第一个注释将向您展示如何实现。