【问题标题】:PHP syntax error using a href in database list view [closed]在数据库列表视图中使用href的PHP语法错误[关闭]
【发布时间】:2012-12-31 06:55:19
【问题描述】:

我认为这很容易解决,因为看起来我的语法是这里的问题。我已经搜索了其他更简单的 stackoverflow 问题,但似乎无法解决这个问题。

我收到Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\Active\Formula One\admin\list_products.php 错误。

我正在对我的数据库中的项目做一个简单的列表视图,并可以选择通过使用 ID 来编辑它们。试图将<a href> 标记添加到表中,但找不到正确的语法来添加它。

我试图包含的链接是 <td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>

表格是这样显示的;

echo "<tr>
<td>" . $row['id'] . "</td>
<td>" . $row['prod_id'] . "</td>
<td>" . $row['prod_sub_id'] . "</td>
<td>" . $row['name'] . "</td>
<td>" . $row['description'] . "</td>
<td>" . $row['price'] . "</td>
<td>" . $row['sale'] . "</td>
<td>" . $row['picture'] . "</td>
<td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>
</tr>";

感谢您的帮助,抱歉,这是一个如此简单的问题,但我一直在尝试解决这个问题。

【问题讨论】:

  • 因此,如果您查看突出显示的语法,您在最后一行 &lt;td&gt; 没有看到可疑之处?

标签: php mysql syntax href


【解决方案1】:

你必须转义双引号

<td><a href=\" ../admin/admin.master.php?page=blog/edit_post.php&id=" . $row['id'] . "\">Edit</a> </td>

【讨论】:

    【解决方案2】:

    它不会直接回答您的问题,但您确实应该避免打印 HTML 标签。 PHP 替代控制结构专门用于解决此类问题。

    因此,您应该将 HTML 标记与 PHP 分离。

    <table>
    
    <!-- This is just an example, you shouldn't use mysql_* functions anymore -->
    <!-- Use PDO or MySQLi instead -->
    <?php while($row = mysql_fetch_assoc($resourse)) :?>
    
    <tr>
      <td><?php echo $row['id'] ?></td>
      <td><?php echo $row['prod_id']; ?></td>
      <td><?php echo $row['prod_sub_id'];?> </td>
      <td><?php echo $row['name']; ?></td>
      <td><?php echo $row['description']; ?></td>
      <td><?php echo $row['price']; ?></td>
      <td><?php echo $row['sale']; ?></td>
      <td><?php echo $row['picture'];?></td>
      <td><a href="<?php printf('../admin/admin.master.php?page=blog/edit_post.php&id=', $row['id']);?> ">Edit</a> </td>
    
    </tr>
    
    <?php endwhile; ?>
    
    </table>
    

    结论:

    1. 这将使代码清晰易读
    2. 易于维护
    3. 让您确信不会出现类似的语法错误(一般而言)

    【讨论】:

    • 很好的答案和推荐!
    【解决方案3】:

    问题似乎是 php 没有意识到 &lt;a href=" 用于链接,而是将双引号翻译为字符串的结尾,结果它给你一个错误。

    更改这行代码:

        "</td>
    <td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>
    </tr>";
    

    到这里:

    '</td> // this needs a single quote in the beginning (not a double quoute)
    <td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>
    </tr>'; // this also needs a single quote
    

    如您所见,您以双引号开头,并以单引号结尾,这让 php 感到困惑。

    如果您需要更多帮助,请告诉我们

    【讨论】:

      猜你喜欢
      • 2018-08-04
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-09
      • 2012-12-09
      • 1970-01-01
      相关资源
      最近更新 更多