为什么我会收到有关T_CONSTANT_ENCAPSED_STRING的语法错误?

时间:2012-08-30 03:55:38

标签: php syntax syntax-error

我有一个功能,用于在表格中显示用户购物车中的项目:

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>';
        }
    }
}

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

  

解析错误:第37行的T_CONSTANT_ENCAPSED_STRING语法错误,意外,,期待;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>';

为什么我会收到此错误,如何解决?

7 个答案:

答案 0 :(得分:3)

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

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

或使用逗号:

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

或者自己加入文字:

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

答案 1 :(得分:0)

不应该有那个小''。 IE:

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

将其更改为...

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

在其他地方,你就像上面那样。

答案 2 :(得分:0)

试试这个

 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>';

答案 3 :(得分:0)

这样的事情'<p>''<table>'并不好。为什么不把它们全部放在一个'<p><table>'中呢?

答案 4 :(得分:0)

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>';

答案 5 :(得分:0)

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>';

答案 6 :(得分:0)

像这样编辑

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>';

简单的朋友。如果它对您有用,请接受答案。

你也做错了
<td>'.$number_format($get_row['price'],2).'</td>//you coded like <td>$'.number_format()...