【问题标题】:Why do I get this syntax error about T_CONSTANT_ENCAPSED_STRING?为什么我会收到关于 T_CONSTANT_ENCAPSED_STRING 的语法错误?
【发布时间】:2012-08-30 03:55:37
【问题描述】:

我有一个函数用于在表格中显示用户购物车中的商品:

function products() {
    $get = mysql_query('SELECT id, name, description, price FROM menu WHERE quantity > 0');
    if (mysql_num_rows($get) == 0) {
        echo"Sorry, There is no products to display.";
    }
    else {
        while ($get_row = mysql_fetch_assoc($get)) {
            echo '<p>''<table>''<tr>''<td>'.$get_row['name'].'</td>''<td>'.$get_row['description'].'</td>''<td>$'.number_format($get_row['price'], 2).'</td>''<td>''<a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td></tr></table></p>';
        }
    }
}

不幸的是,当我尝试使用该代码时,我收到了这个错误:

解析错误:语法错误,意外 T_CONSTANT_ENCAPSED_STRING,在第 37 行的 C:\xampp\htdocs\shopping\cart.php 中预期 ,;

第 37 行是这一行:

echo '<p>''<table>''<tr>''<td>'.$get_row['name'].'</td>''<td>'.$get_row['description'].'</td>''<td>$'.number_format($get_row['price'], 2).'</td>''<td>''<a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td></tr></table></p>';

为什么会出现此错误,我该如何解决?

【问题讨论】:

    标签: php syntax syntax-error


    【解决方案1】:

    与其他一些语言不同,PHP 不会自动连接连续的字符串文字。您必须明确连接:

    echo 'a' . 'b' . 'c' . $someVar . 'd';
    

    或者使用逗号:

    echo 'a', 'b', 'c', $someVar, 'd';
    

    或者只是自己加入文字:

    echo 'abc' . $someVar . 'd';
    

    【讨论】:

      【解决方案2】:

      里面不应该有小''。即:

      <p>''<table>''<tr>''<td>
      

      改成...

      <p><table><tr><td>
      

      还有其他任何地方都有像上面那样的''。

      【讨论】:

        【解决方案3】:

        试试这个

         echo '<p><table><tr><td>'.$get_row['name'].'</td><td>'.$get_row['description'].'</td><td>$'.number_format($get_row['price'], 2).'</td><td><a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td></tr></table></p>';
        

        【讨论】:

          【解决方案4】:

          '&lt;p&gt;''&lt;table&gt;' 之类的东西不好。你为什么不把它们都放在一个'&lt;p&gt;&lt;table&gt;' 里呢?

          【讨论】:

            【解决方案5】:
            echo '<p><table><tr><td>'.$get_row['name'].'</td>
            <td>'.$get_row['description'].'</td>
            <td>'$.number_format($get_row['price'], 2).'</td>
            <td><a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td>
            </tr></table></p>';
            

            【讨论】:

              【解决方案6】:
              you have to write like this in while loop
              
              echo '<p><table><tr><td>'.$get_row['name'].'</td><td>'.$get_row['description'].'</td><td>$'.number_format($get_row['price'], 2).'</td><td><a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td></tr></table></p>';
              

              【讨论】:

                【解决方案7】:

                像这样编辑

                echo'<p><table><tr><td>'.$get_row['name'].'</td><td>'.$get_row['description'].'</td><td>'.$number_format($get_row['price'], 2).'</td><td><a href="cart.php?add='.$get_row['id'].'">Add To Cart</a></td></tr></table></p>';
                

                简单的friend.accept 答案,如果它适合你。 你也做错了

                <td>'.$number_format($get_row['price'],2).'</td>//you coded like <td>$'.number_format()...
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2020-09-04
                  • 2022-01-23
                  • 2021-03-31
                  • 1970-01-01
                  • 2021-06-20
                  • 2017-01-16
                  • 2021-04-30
                  • 2020-02-11
                  相关资源
                  最近更新 更多