<?php
require_once 'login.php';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);if(!$db_server) die("Unable to connect to MySQL: " .mysql_error());mysql_select_db($db_database, $db_server)
   or die("Unable to select database: " . mysql_error());if (isset($_POST['author']) &&
isset($_POST['title']) &&
isset($_POST['category']) &&
isset($_POST['year']) &&
isset($_POST['isbn']))
{
$author = get_post('author');
$title = get_post('title');
$category = get_post('category');
$year = get_post('year');
$isbn = get_post('isbn');
if (isset($_POST['delete']) && $isbn != "")
{
$query = "DELETE FROM classics WHERE isbn='$isbn'";
if (!mysql_query($query, $db_server))
echo "DELETE failed: $query<br />" .
mysql_error() . "<br /><br />";
}
else
{
$query = "INSERT INTO classics VALUES" .
"('$author', '$title', '$category', '$year', '$isbn')";
if (!mysql_query($query, $db_server))
echo "INSERT failed: $query<br />" .
mysql_error() . "<br /><br />";
}
}
echo <<<_END
<form action="sqltest.php" method="post"><pre>
Author <input type="text" name="author" />
Title <input type="text" name="title" />
Category <input type="text" name="category" />
Year <input type="text" name="year" />
ISBN <input type="text" name="isbn" />
<input type="submit" value="ADD RECORD" />
</pre></form>
_END;
$query = "SELECT * FROM classics";
$result = mysql_query($query);if (!$result) die ("Database access failed: " . mysql_error());
$rows = mysql_num_rows($result);
for ($j = 0 ; $j < $rows ; ++$j)
{
$row = mysql_fetch_row($result);
echo <<<_END
<pre>
Author $row[0]
Title $row[1]
Category $row[2]
Year $row[3]
ISBN $row[4]
</pre>
<form action="sqltest.php" method="post">
<input type="hidden" name="delete" value="yes" />
<input type="hidden" name="isbn" value="$row[4]" />
<input type="submit" value="DELETE RECORD" /></form>
_END;
}
mysql_close($db_server);
function get_post($var)
{
return mysql_real_escape_string($_POST[$var]);
}
?>就是结尾最后一行左边有个小红叉,说是:unexpected eof为啥?对的啊?

解决方案 »

  1.   

     _END; 这个应该顶格写吧。
      

  2.   

    for ($j = 0 ; $j < $rows ; ++$j)
    {
        $row = mysql_fetch_row($result);
        echo <<<_END
        <pre>
        Author $row[0]
        Title $row[1]
        Category $row[2]
        Year $row[3]
        ISBN $row[4]
        </pre>
        <form action="sqltest.php" method="post">
        <input type="hidden" name="delete" value="yes" />
        <input type="hidden" name="isbn" value="$row[4]" />
        <input type="submit" value="DELETE RECORD" /></form>
    _END;//这个要顶格写。。
    }
    heredoc结束的地方要顶格写。
      

  3.   

    谢谢两位,改了后好了,但是连接不上,打不开网页我用的是easyphpWarning: mysql_connect() [function.mysql-connect]: Access denied for user 'username'@'localhost' (using password: YES) in C:\Program Files\EasyPHP-5.3.8.1\www\sqltest.php on line 3
    Unable to connect to MySQL: Access denied for user 'username'@'localhost' (using password: YES)为何?我的root user设置了密码的。是这个原因?
      

  4.   

    不好意思,我login文件写错了,非常感谢我改好了
      

  5.   

    还有问题,我在使用easyphp 访问本地时 网址是: http://127.0.0.1:8080/sqltest.php这样是可以访问的。但是我用eclipse 运行时网址是 http://localhost/sqltest.php/login.php然后显示不能访问。
    我该如何修改我的eclipse设置吗?谢谢
      

  6.   

    host文件中把localhost解析为127.0.0.1:8080应该就可以了吧。