【问题标题】:(T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) [closed](T_ENCAPSED_AND_WHITESPACE),期望标识符(T_STRING)或变量(T_VARIABLE)或数字(T_NUM_STRING)[关闭]
【发布时间】:2014-01-29 13:04:25
【问题描述】:

我遇到这样的解析错误:

语法错误,意外 '' (T_ENCAPSED_AND_WHITESPACE),期待 标识符 (T_STRING) 或变量 (T_VARIABLE) 或数字 (T_NUM_STRING)

对于下面的代码行

<?php
$query = "SELECT license_parent_type_details.ParentTypeId,license_parent_type_details.TypeName FROM tenant.license_parent_type_details order by TypeName asc";
$result = mysql_query($query);
while($row_list = mysql_fetch_assoc( $result )) {

以下代码行

echo '<option value="'.$row_list['ParentTypeId'].'">'<"'.($_POST['seltypes']==$row_list['ParentTypeId'] ? ' selected="selected" : '').'>'. $row_list['TypeName']."'</option>';

【问题讨论】:

标签: php


【解决方案1】:

这里是更正的版本:

echo '<option value="', $row_list['ParentTypeId'], '"', ($_POST['seltypes']==$row_list['ParentTypeId'] ? ' selected="selected" ' : ''), '>', $row_list['TypeName'], '</option>';

错误:

  1. 缺少单引号

  2. 多余的双引号

找出这些错误的原始位置留给读者作为练习。

【讨论】:

  • 我遇到了意外的语法错误)
  • @Nithya 请看我的更新。
  • 您的更新是正确的,但我在下拉列表中获得了价值,例如:B1..... B1 是价值
  • @Nithya 请看我的第二次更新。
【解决方案2】:

更正编码。

echo '<'. ($_POST['seltypes'] == $row_list['ParentTypeId'] 
                                    ? ' selected="selected" '
                                    : '').'>'. $row_list['TypeName'] .'</option>';
  • 你在selected="selected" 后面忘记了'
  • $row_list['TypeName'] 之后你有一个额外的"

以上的视觉辅助。

这是一个视觉效果。寻找--&gt;&lt;--。一个是括号是我删除的那个。

echo '<'. ($_POST['seltypes'] == $row_list['ParentTypeId'] 
                                    ? ' selected="selected" --> ' <-- 
                                    : '').'>'. $row_list['TypeName'] --> (") <-- .'</option>';

【讨论】:

  • 你用的是最上面的吧?
  • 我没有得到顶部的语法错误(只有一个未分配的变量,因为我没有给 $row_list 一个值)
猜你喜欢
  • 2023-03-11
  • 2015-06-26
  • 1970-01-01
  • 1970-01-01
  • 2012-03-23
  • 2017-04-08
  • 1970-01-01
  • 2012-01-14
  • 2014-07-03
相关资源
最近更新 更多