我认为这将是相当简单的解决,因为看起来我的语法是这里的问题。我已经搜索过其他更简单的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>";
谢谢你的帮助,对不起,这是一个如此简单的问题,但我一直在努力弄清楚这个问题。
必须转义双引号
<td><a href='" ../admin/admin.master.php?page=blog/edit_post.php&id=" . $row['id'] . "'">Edit</a> </td>
它不能直接回答您的问题,但是您确实应该避免打印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>
Consclusion:
- 这将使代码清晰易读
- 易于维护
- 给你一个信心,你不会有这样的语法错误(一般)
问题似乎是php没有意识到<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感到困惑。
如果您还需要什么帮助,请告诉我们