2013-07-18 95 views
1

我发现这个代码,不正是我需要的删除行 - 语法错误

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行。

如果我试图把它上传反正它说:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/asbj1076/public_html/testdel/admin.php on line 39

我可以将它保存为没有这种语法错误HTML5的文件,但代码仍然是不是正常工作。

有什么建议吗?

我知道已经有很多类似的问题了,对不起。 我只是一个在我头顶的小白人,所以我需要非常具体的帮助。

谢谢。 Asbjørn

+1

逃亡'“'在中间第二个回声使用'\“'代替。 – 3ventic

+1

尝试'回声“

  • $ row-> newsTitle newsID','$row->newsTitle')\">Delete
  • n”;' –

    回答

    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"; 
    
    +0

    将在一分钟内尝试,现在它的热狗时间。 非常感谢您的快速回复。 – user2596886

    +0

    答案是好的,但也许你可以分开每个部分,而不是在同一行上写入php,html和js。像这样写,会使代码真的很难调试。之后,他应该删除mysql_ *语句,因为它现在已被弃用。 –

    +0

    我可以看到你说什么。幸运的是,似乎弗雷德已经为我做了这件事。谢谢。 – user2596886

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

    输出将是:

    • 你好删除