【问题标题】:Troubleshooting "syntax error, unexpected ‘;’" [closed]疑难解答“语法错误,意外的‘;’”[关闭]
【发布时间】:2012-02-01 04:58:22
【问题描述】:
<?php  
  $dbhost = "localhost";
  $dbuser = "test";
  $dbpass = "testpass";
  $dbname = "testdb";

  foreach((get_the_category('orderby=ID&order=ASC')) as $childcat)
  {
    if (cat_is_ancestor_of(8, $childcat))
    {
      echo $childcat->cat_ID . ;
    }
  }
?></span>
</ul>

这是我在 php 中的上述代码,它正确显示值但我收到此错误:

解析错误:语法错误,第 20 行出现意外的“;”。

我在这里做错了什么?这里有语法问题吗?它正确显示值但也显示此错误。

【问题讨论】:

  • 感谢所有回复,但如果我这样做 echo $childcat->cat_ID ;它不显示数据库中类别的任何值。如果我包括 .最后它正确显示了这个错误的类别,有什么想法吗?
  • 那个ID是0还是1?
  • 对不起,我是 php 的新手。但我试过 print_r($childcat);而不是 echo 命令,它没有显示任何内容。我还尝试更改 0 和 1 它不显示任何内容。 --我在上面的 if 命令中将 ID 更改为 1 if (cat_is_ancestor_of(1, $childcat)) ,它仍然显示相同的值。我只是关注这个帖子:wordpress.org/support/topic/…
  • 我认为语法永远不会填充任何东西,我在 db 中有错误的值。我不再使用这种语法,我正在使用下面的新代码,它从我的数据库表中提取并现在抛出这个错误:mysql_fetch_array() 期望参数 1 是资源。
    有人可以帮忙吗?

标签: php wordpress syntax-error


【解决方案1】:

我假设这是第 20 行:

echo $childcat->cat_ID . ;

您缺少要附加到的字符串。如果您不想附加字符串,请不要使用. 运算符。

【讨论】:

    【解决方案2】:
    echo $childcat->cat_ID . ;
    

    你有一个尾随句点。

    【讨论】:

      【解决方案3】:

      问题是这一行:

      echo $childcat-&gt;cat_ID . ;

      句点(点)是 PHP 中的连接运算符,因此预处理器希望您连接某些内容,但得到的是语句结束(;)。

      【讨论】:

      • 如果我回显 $childcat->cat_ID ;它不显示任何值。如果我包括 .它正确显示了类别,有什么想法吗?
      【解决方案4】:

      您的代码中有错误。

      改变

      echo $childcat->cat_ID . ;
      

      echo $childcat->cat_ID ;
      

      【讨论】:

        【解决方案5】:

        尝试使用 var_dump($childcat);出口;在第 20 行之前查看 $childcat 包含的内容,它总是会返回一些内容。如果一个变量是空的 var_dump 返回 null,所以试试看。还要对 $childcat->cat_ID 执行 var_dump 以检查其值。第 20 行带有 '.'运算符错误,你必须通过在末尾附加连接运算符来找出为什么会得到输出,这可以通过 var_dump 检查变量然后根据得到的结果继续进行。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-06-26
          • 2014-04-02
          • 2011-10-26
          • 2014-09-02
          • 2014-04-26
          • 2013-06-15
          相关资源
          最近更新 更多