-3

我正进入(状态

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

以下php代码行中的错误..请任何人都可以解释这个问题。

   echo "<tr><td><a href=\"$row['link']\"><img src=\"$row['image']\" title=\"$row['game']\" width=\"68\" height \"57\" /></a></td><td><a href=\"$row['link']\">$row['game']</a> </td><td> $row['total']</td></tr>";
4

7 回答 7

2

问题是您嵌入在字符串中的数组变量。

在字符串中嵌入数组变量时,必须将其括在花括号中,如下所示:

$stringvar = "blah blah {$arrayvar['element']} blah blah";

因此,在您的代码中,$row['link']所有其他$row元素都需要用{}大括号括起来。

请注意,您可以(并且应该)对字符串中的所有变量执行此操作,但对于数组元素是强制性的。

此外,您的字符串中的一个引号上缺少转义斜杠:\"57"。这也会导致语法错误。

希望有帮助。

协助调试:这是一行相当长且复杂的代码,其中包含大量转义引号等,可能难以一次性调试(尤其是当它有多个问题时)。

我的建议是通过将其分解成更易于管理的块来对其进行调试。由于相同的原因,您仍然会遇到相同的错误,但更容易找到它们。固定后,您可以再次将线路重新连接成一条长线路。

最后,我建议使用支持语法高亮的像样的 IDE 或文本编辑器。这将为您提供有关错误所在位置的更好反馈。

于 2013-07-26T11:32:42.570 回答
1

请出于对易读性的热爱,在字符串中使用大量双引号时使用单引号,并将变量连接起来。否则你最终会\在你的字符串中加载大量,并且很难发现变量:

echo '  <tr>
            <td>
                <a href="'.$row['link'].'">
                    <img src="'.$row['image'].'" title="'.$row['game'].'" width="68" height="57" />
                </a>
            </td>
            <td>
                <a href="'.$row['link'].'">'.$row['game'].'</a>
            </td>
            <td>'.$row['total'].'</td>
        </tr>';
于 2013-07-26T11:34:57.223 回答
0
echo "<tr>
 <td>
  <a href=\"{$row['link']}\">
   <img src=\"{$row['image']}\" title=\"{$row['game']}\" width=\"68\" height \"57\" />
  </a>
 </td><td>
  <a href=\"{$row['link']}\">{$row['game']}</a> </td><td> {$row['total']}
 </td>
</tr>";

使用 { } 将变量包含在字符串中始终是一个好习惯,尤其是在这里,因为它是一个数组值。

此外,这里有一个错误: height =\"57" =>height =\"57\"

或者,您可以像下面这样写以获得更多资格:

echo '<a href="'.$row['link'].'">...';
于 2013-07-26T11:34:43.647 回答
0

你错过了一个斜杠

 height =\"57\"
于 2013-07-26T11:31:20.177 回答
0

试试这个

echo '<tr><td><a href="' . $row['link'] . '"><img src="' . $row['image'] . '" title="' . $row['game'] . '" width="68" height="57" /></a></td><td><a href="' . $row['link'] . '">' . $row['game'] . '</a></td><td>' . $row['total'] . '</td></tr>';
于 2013-07-26T11:33:00.593 回答
0

尝试这个

   echo "<tr><td><a href=\"$row['link']\"><img src=\"$row['image']\" title=\"$row['game']\" width=\"68\" height \"57\" /></a></td><td><a href=\"$row['link']\">$row['game']</a> </td><td> $row['total']</td></tr>";

失踪逃生

于 2013-07-26T11:30:14.757 回答
0

尝试这个 :

echo '<tr><td><a href="'.$row['link'].'"><img src="'.$row['image'].'" title="'.$row['game'].'" width=\"68\" height \"57" /></a></td><td><a href="'.$row['link'].'">'.$row['game'].'</a> </td><td> '.$row['total'].'</td></tr>';
于 2013-07-26T11:34:05.417 回答