问题描述
|
我正在尝试从此代码的链接中获取数据并出现如下所示的错误,代码的第3行可能是什么问题?
while ($row = MysqL_fetch_assoc($result))
{
echo \"<a href=\\\"edit_employee.PHP?$row[\'employee_id_passport\']\\\">\" . $row[\'first_name\'] .\" \" . $row[\'surname\'] . \"</a>\";
echo \"<br />\";
}
错误是
Parse error: Syntax error,unexpected T_ENCAPSED_AND_WHITESPACE,expecting T_STRING or T_VARIABLE or T_NUM_STRING in /Library/WebServer/Documents/practice/employee/view_employee.PHP on line 14
解决方法
删除单引号:
echo \"<a href=\\\"edit_employee.php?$row[employee_id_passport]\\\">\" . $row[\'first_name\'] .\" \" . $row[\'surname\'] . \"</a>\";
, AFAIK,您可以通过2种方式解决您的请求:
echo \"<a href=\\\"edit_employee.php?{$row[\'employee_id_passport\']}\\\">\" . $row[\'first_name\'] .\" \" . $row[\'surname\'] . \"</a>\";
要么
echo \"<a href=\\\"edit_employee.php?\" . $row[\'employee_id_passport\'] . \"\\\">\" . $row[\'first_name\'] .\" \" . $row[\'surname\'] . \"</a>\";
或使用单引号避免转义双引号
echo \'<a href=\"edit_employee.php?\' . $row[\'employee_id_passport\'] . \'\">\' . $row[\'first_name\'] . \' \' . $row[\'surname\'] . \'</a>\';
使用$row[employee_id_passport]
会在错误日志中产生一个提示,因为employee_id_passport
被解释为常量。
看看手册,第一注。
, 您可以删除单引号或使用{}大括号,例如
{$row[\'employee_id_passport\']}
查看有关变量解析的手册:
http://www.php.net/manual/zh-CN/language.types.string.php#language.types.string.parsing.complex