当前位置: 代码迷 >> PHP >> 这个php文件哪里异常,居然无法运行,这是书本配套的代码啊抓狂
  详细解决方案

这个php文件哪里异常,居然无法运行,这是书本配套的代码啊抓狂

热度:252   发布时间:2016-04-28 19:02:08.0
这个php文件哪里错误,居然无法运行,这是书本配套的代码啊。抓狂
config.php 文件 数据库用户名和密码是正确的。

<?php
error_reporting(E_ALL & ~E_NOTICE);
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password123';
$dbname = 'chap2';

header('content-type:text/html; charset=gbk');
mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname);
mysql_query('SET NAMES gbk');
?>


chap2.php的代码如下: 运行显示空白,到底哪里错了???
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>我的书架</title>
<style type="text/css">
a {
text-decoration: none;
}
body {
text-align: center;
}
#wrap{
text-align: left;
margin: 0 auto;
width: 800px;
}
</style>
</head>
<body>
<div id="wrap">
<center><h2>我的书架</h2></center>
<?php
require_once 'config.php';

$bookid = $_GET['edit'];

if ($_POST['submit']) {
$title = $_POST['title'];
$author = $_POST['author'];
$dateline = $_POST['dateline'];
$price = $_POST['price'];

$setSQL = "bookid='$bookid',title='$title',author='$author',dateline='$dateline',price='$price'";
$sql = $bookid ? "UPDATE books SET $setSQL WHERE bookid='$bookid'" : "INSERT INTO books SET $setSQL";
mysql_query($sql);
header('location:?');
exit;
}

if ($bookid) {
$rs = mysql_query("SELECT * FROM books WHERE bookid='$bookid'");
$book = mysql_fetch_assoc($rs);
}

if ($delid = $_GET['del']) {
mysql_query("DELETE FROM books WHERE bookid='$delid'");
}

$rs = mysql_query("SELECT * FROM books");

echo '<h3>图书列表</h3>
<table width="100%" cellspacing="0" cellpadding="1" border="1" bordercolor="#999">
<tr><th>ID</th><th>书名</th><th>作者</th><th>出版时间</th><th>定价</th><th>操作</th></tr>';
while ($item = mysql_fetch_assoc($rs)) {
echo "<tr align=\"center\"><td>$item[bookid]</td><td align=\"left\">$item[title]</td><td>$item[author]</td><td>$item[dateline]</td><td>$item[price]</td><td><a href=\"?edit=$item[bookid]\">修改</a> <a href=\"?del=$item[bookid]\">删除</a></td></tr>";
}
echo '</table>';
echo '<h3>' . ($bookid ? '修改图书' : '新增图书') . '</h3>';
?>
<form method="POST">
<table cellspacing="0" cellpadding="1" border="0">
<tr>
<td>书名</td>
<td><input type="text" name="title" value="<?=$book['title']?>"/></td>
</tr>
<tr>
<td>作者</td>
<td><input type="text" name="author" value="<?=$book['author']?>"/></td>
</tr>
<tr>
<td>出版时间</td>
<td><input type="text" name="dateline" value="<?=$book['dateline']?>"/></td>
</tr>
<tr>
<td>定价</td>
<td><input type="text" name="price" value="<?=$book['price']?>"/></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="提交"/> <input type="reset" value="重置"/>
<?php if ($bookid) {?><a href="?edit=0">取消修改</a><? } ?></td>
</tr>
</table>
</form>
</div>
</body>
</html>

------解决方案--------------------
 在连接数据库的函数前 加一个@  屏蔽错误。  因为在php中 第一次连接数据库是报错的,  程序从上往下执行,会初始化数据库。导致链接出问题。
------解决方案--------------------
你打开 php 的错误显示功能
php.ini 中 display_errors = On

这样只要是程序错误,就会在页面中显示出来
不要自己难为自己
  相关解决方案