2013-07-18 2 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 без этой синтаксической ошибки, но код все еще AINT работает должным образом.

Любые предложения?

Я знаю, что уже было много подобных вопросов, извините за это. Я просто нуб, который над моей головой, поэтому мне нужна действительно конкретная помощь.

Спасибо. Asbjørn

+1

побег '" 'в середине второе эхо с использованием '\" 'вместо этого. – 3ventic

+1

try 'echo '

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

    выход будет:

    • Здравствуйте Удалить
    Смежные вопросы