从数据库中删除行 - 语法错误

时间:2013-07-18 19:22:21

标签: php

我发现这个代码完全符合我的需要

http://www.daveismyname.com/tutorials/php-tutorials/delete-rows-from-a-mysql-database-with-a-confirmation/

当我将代码复制到新的Dreamweaver php文件中时,它表明此部分存在语法错误:

<?php
$result = mysql_query("SELECT * FROM news")or die(mysql_error());
while($row = mysql_fetch_object($result))
{
echo "<ul>n";
echo "<li>$row->newsTitle <a href="javascript:delnews('$row->newsID','$row->newsTitle')">Delete</a></li>n";
echo "</ul>n";
}
?>

更具体地说,在echo <li>$row行。

如果我尝试上传它,无论如何它说:

  

解析错误:语法错误,意外T_STRING,期待','或';'在第39行的/home/asbj1076/public_html/testdel/admin.php

我可以将其保存为html5文件而不会出现语法错误,但代码仍然无法正常工作。

有什么建议吗?

我知道已经有很多类似的问题,对不起。 我只是一个在我头上的菜鸟,所以我需要特别的帮助。

感谢。阿斯比约恩

2 个答案:

答案 0 :(得分:2)

由于第二个"语句中的双引号echo,PHP引发错误,因为它正在尝试评估这些引号内的HTML。

echo "<li>$row->newsTitle <a href="javascript:delnews('$row->newsID','$row->newsTitle')">Delete</a></li>n";
                                   ^                                                  ^

这些标记之间的所有内容都试图被视为php和错误。请改为使用这样的引号。

echo "<li>$row->newsTitle <a href=\"javascript:delnews('$row->newsID','$row->newsTitle')\">Delete</a></li>n";

答案 1 :(得分:1)

您可以尝试(保持ul不在循环中)

echo "<ul>";
while($row = mysql_fetch_object($result))
{
    echo "<li>" . $row->newsTitle . " <a href='javascript:delnews(\'" . $row->newsID ."\', \'" . $row->newsTitle . "\')>Delete</a></li>";
}
echo "</ul>";

输出将是:

  • Hello Delete