日期:2014-05-17  浏览次数:20697 次

PHP求助!在一个php文件中如何执行两个不同的insert语句?
<?php 
session_start();
include("Conn/conn.php");

$ISBN=$_POST["ISBN"];
$B_Name=$_POST["bookName"];
$B_Author=$_POST["B_Author"];
$B_Pub=$_POST["B_Pub"];
$B_Author=$_POST["B_Author"];
$B_BuyTime=date("Y-m-d");

$B_Num=$_POST["B_Num"];
$Content=$_POST["content"];
echo $B_Num."<br>";//测试输出语句
echo $Content;//测试输出语句
$sql1=mysql_query("insert into book1(ISBN,B_Name,B_Author,B_Pub,B_BuyTime)values('$ISBN','$B_Name','$B_Author','$B_Pub','$B_BuyTime')");

$sql2=mysql_query("insert into book2(B_Num,ISBN,Borrowed,Ordered,Introduction)values('$B_Num','$ISBN','否','否','$Content')");

echo "<script language='javascript'>alert('图书信息添加成功!');history.back();location.href='book.php';</script>";
?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

这是另一个PHP文件单击“提交”按钮后执行的PHP文件,通过输出测试$B_Num和$Content明确这两个变量中都有值。执行后查看mysql数据库可知book1表中成功插入一行数据,但是book2表中并未插入数据,好像只有sql1语句执行了,sql2语句并没有执行,那位大侠帮帮我修改一下,能达到的同时向两个不同表中插入数据就行!
PHP mysql insert 插入语句 两个sql语句

------解决方案--------------------
输出变量为NULL ? 
$sql2=mysql_query("insert into book2(B_Num,ISBN,Borrowed,Ordered,Introduction)values('$B_Num','$ISBN','否','否','$Content')") or die(mysql_error());
这样看看有不有错误信息
------解决方案--------------------
肯定是你的insert语句有问题。首先检查每个val是否与field类型匹配,然后检查有没有非空字段没有赋值的。
然后你的SQL语句用的是单引号包含的变量,双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。如果上面方法都不行,就把单引号换成双引号试试。