最近在学习并使用PHP+MySQL开发,下面是一段代码,用于添加图书到数据库,检查了好几遍了,觉得没问题,但实际运行时,总是显示"Query:SELECT press_id,press_name FROM press WHERE press_name='$pr'"这句有问题,但我在MySQL上调试这条语句,没有问题.
请帮忙看看问题出在哪儿,感激不尽!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
<title>添加图书</title>
</head>
<body>
<?php # 允许用户添加图书
require_once('../../mysql_connect.php'); //连接数据库.
//检查是否发送了表单
if(isset($_POST['submitted'])){
//检查图书名称框
if(!empty($_POST['name'])){
$n=escape_data($_POST['name']);
}else{
echo '<p><font color="red">请输入图书名称.</font></p>';
$n=FALSE;
}
//检查图像
if(is_uploaded_file($_FILE['image']['tmp_name'])){
if(move_uploaded_file($_FILE['image']['tmp_name'],"../../uploads/{$_FILES['image']['name']}"))
{ // 移动文件.
echo '<p>文件已上载!</p>';
}else{ // 不能移动文件.
echo '<p><font color="red">不能够移动文件.</font></p>';
$i=FALSE;
}
$i=$_FILES['image']['name'];
}else{
$i=FALSE;
}
//检查图书作者
if(!empty($_POST['author'])){
$ar=escape_data($_POST['author']);
//在数据库author表中插入记录
$query="INSERT INTO author(author_name) VALUES ('$ar')";
$result=@mysql_query($query);
if($result){ //成功插入记录
//查询该作者的主键
$query="SELECT author_id,author_name FROM author WHERE author_name='$ar'";
$result=@mysql_query($query);
if($result){ //查询成功
//此处可以进一步编写代码,以确认该作者以前是否存在,若存在,则删除本次
//然后以上一次的主健返回
$row=mysql_fetch_array($result,MYSQL_ASSOC);
$ar=(int) $row['author_id'];
}
}
}else{
echo '<p><font color="red">请输入图书作者名.</font></p>';
$ar=FALSE;
}
//检查出版社框
if(!empty($_POST['press'])){
$pr=escape_data($_POST['press']);
//在数据库press表中插入记录
$query="INSERT INTO press(press_name) VALUES ('$pr')";
$result=@mysql_query($query);
if($result){ //成功插入记录
//查询该出版社的主键
$query="SELECT press_id,press_name FROM press WHERE press_name='$pr'";
$result=@mysql_query($query);
if($result){ //查询成功
//此处可以进一步编写代码,以确认该出版社以前是否存在,若存在,则删除本次
//然后以上一次的主健返回
$row=mysql_fetch_array($result,MYSQL_ASSOC);
$pr=(int) $row['press_id'];
}
}
}else{
echo '<p><font color="red">请输入出版社名称.</font></p>';
$pr=FALSE;
}
//检查图书简介框
if(!empty($_POST['description'])){
$d=escape_data($_POST['description']);
}else{
echo '<p><font color="red">请输入图书简介.</font></p>';
$d=FALSE;
}
//图书类别
if($_POST['category']>0){
$c=(int) $_POST['category'];
}
//分享人
if($_POST['user']>0){
$u=(int) $_POST['user'];
}
$r=$_POST['recommend'];//此值暂时不用,留待以后只有管理员可用,数据库中默认为N
if($n && $i && $d && $c && $u){
//在数据库bookinformation表中插入记录
$query="INSERT INTO bookinformation(author_id,press_id,category_id,user_id,book_name,description,register_date,recommend,book_image,borrow_total,comment_total,borrow) VALUES ($ar,$pr,$c,$u,'$n','$d',NOW(),'N','$i',0,0,'N')";
$result=@mysql_query($query);
if(mysql_affected_rows()==1) { //记录已添加
echo '<p>已经添加一本图书信息.</p>';
}else{
echo '<p><font color="red">这本图书没有被添加到数据库中.</font></p>';
}
}else{
echo '<p><font color="red">请返回重试.</font></p>';
echo '<p>' . mysql_error() . '<br />Query: ' . $query . '</p>';
}
mysql_close(); //关闭数据库连接.
}
?>
<h2>添加图书</h2>
<form enctype="multipart/form-data" action="add_book.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="524288" />
<fieldset><legend>添加图书与大家分享</legend>
<p><b>图书名称:</b><input type="text" name="name" size="60" maxlength="60" /></p>
<p><b>封面图像:</b><input type="file" name="image" /><small>文件名中不应该包含有空格和无效字符,并且应带有扩展名.</small></p>
<p><b>图书作者:</b><input type="text" name="author" size="30" maxlength="30" /></p>
<p><b>出 版 社:</b><input type="text" name="press" size="30" maxlength="30" /></p>
<p><b>图书分类:</b><select name="category"><option>选择图书类别</option>
<?php //填充下拉菜单
$query="SELECT category_id,category_name FROM category";
$result=@mysql_query($query);
while($row=mysql_fetch_array($result,MYSQL_NUM)){
echo "<option value=\"$row[0]\">$row[1]</option>\n";
}
?>
</select></p>
<p><b>图书简介:</b><textarea name="description" cols="40" rows="5">最好自已根据图书的内容撰写</textarea></p>
<p><b>分 享 人:</b><select name="user"><option>选择分享人</option>
<?php //填充下拉菜单
$query="SELECT user_id,user_name FROM user ORDER BY user_name ASC";
$result=@mysql_query($query);
while($row=mysql_fetch_array($result,MYSQL_NUM)){
echo "<option value=\"$row[0]\">$row[1]</option>\n";
}
?>
</select></p>
<p><b>是否推荐:</b><input type="radio" name="recommend" value="Y" />推荐 <input type="radio" name="recommend" value="N" />不推荐</p>
</fieldset>
<p><input type="submit" name="submit" value="添加图书" /></p>
<input type="hidden" name="submitted" value="TRUE" />
</form>
</body>
</html> ;