问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???php5关于mysql_fetch_array的例子中很简单,但我现在要做在一个数据库中有三个表,要查出这两个表中的内容,然后将查询的内容(两个字段)插入第三个表中。我改了一个程序,但在***之间报错,提示不应当出现$。。。。哪位给看看是什么原因????
代码如下:
<?
include 'db.inc';
if($zbdw=="")
{
echo "<p align=center>Õб굥λÃû³Æ²»ÄÜΪ¿Õ!";
echo "<meta http-equiv=\"refresh\" content=\"5;URL=tbxx.html\">";
exit();
}
if($gsmc=="")
{
echo "<p align=center>Ͷ±êµ¥Î»Ãû³Æ²»ÄÜΪ¿Õ!";
echo "<meta http-equiv=\"refresh\" content=\"5;URL=tbxx.html\">";
exit();
}
if($packno=="")
{
echo "<p align=center>Ͷ±ê±ê¶Î»ò°üºÅ²»ÄÜΪ¿Õ!";
echo "<meta http-equiv=\"refresh\" content=\"5;URL=tbxx.php\">";
exit();
}
if($tbbj=="")
{
echo "<p align=center>Ͷ±ê±¨¼Û²»ÄÜΪ¿Õ!";
echo "<meta http-equiv=\"refresh\" content=\"5;URL=tbxx.php\">";
exit();
}
if($zmark=="")
{
echo "<p align=center>ÊÇ·ñÖб겻ÄÜΪ¿Õ!";
echo "<meta http-equiv=\"refresh\" content=\"5;URL=tbxx.php\">";
exit();
}
$result=mysql_query("SELECT zbgg.projectid,userinfo.userid from zbgg,userinfo where projectid=".$_POST['projectid']." and userid=".$_POST['userid'].");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
***** $u="INSERT INTO tbxx VALUES ('$row["projectid"]', '$row["userid"]','".$_POST['packno']."','".$_POST['tbbj']."','".$_POST['zmark']."')";****
$result=mysql_query($u,$link);
echo "<p align=center>Ͷ±êÐÅÏ¢ÌîдÍê±Ï!";
echo "<meta http-equiv=\"refresh\" content=\"7;URL=tbxx.php\">";
mysql_free_result($result);
}
mysql_close($link);
?>
回复: 问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
[php]$u="INSERT INTO tbxx VALUES ('$row["projectid"]', '$row["userid"]','".$_POST['packno']."','".$_POST['tbbj']."','".$_POST['zmark']."')";
// 这样的写法有明显的错误。而且看不清楚,你可以改写成这样
$u = sprintf("INSERT INTO tbxx VALUES ('%s', '%s','%s','%s','%s')",参数1,参数2,参数3,参数4,参数5);
)
[/php]
回复: 问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
老大:报错。。。。Parse error: syntax error, unexpected T_STRING in C:\Program Files\Apache Group\Apache2\htdocs\insert2.php on line 35
我想是应该是逻辑上的错误。。。。但又不知该将"$U"这句放到哪里。。。:confused:
回复: 问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
Boban老大及各位师兄,还是不好使啊。。。。怎么办呢???我现在卡在这儿了。。。老板明天就要看。。。。就是$U=insert into这句,我用排除法,在这儿换一句也不行,就是报错。脑子都木了!!!哪位给我帮看一下,谢了!!:(回复: 问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
你 echo $U; 看看符合mysql的逻辑否回复: 问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
:confused: 偶昨晚调试了一下,现在什么错也不报了,运行后在游览器里只显示一个空白页面,没有任何提示。。。哪位再给看一下究竟是什么原因呢???谢了先!!!!修改后的代码如下:
<?
include 'db.inc';
if($zbdw=="")
{
echo "<p align=center>招标单位名称不能为空!";
echo "<meta http-equiv=\"refresh\" content=\"5;URL=tbxx.html\">";
exit();
}
if($gsmc=="")
{
echo "<p align=center>投标单位名称不能为空!";
echo "<meta http-equiv=\"refresh\" content=\"5;URL=tbxx.html\">";
exit();
}
if($packno=="")
{
echo "<p align=center>投标标段或包号不能为空!";
echo "<meta http-equiv=\"refresh\" content=\"5;URL=tbxx.php\">";
exit();
}
if($tbbj=="")
{
echo "<p align=center>投标报价不能为空!";
echo "<meta http-equiv=\"refresh\" content=\"5;URL=tbxx.php\">";
exit();
}
if($zmark=="")
{
echo "<p align=center>是否中标不能为空!";
echo "<meta http-equiv=\"refresh\" content=\"5;URL=tbxx.php\">";
exit();
}
$sql = "SELECT zbgg.projectid,userinfo.userid from zbgg,userinfo where projectid='.$_POST[projectid].' and userid='.$_POST[userid].'";
$result = mysql_query($sql);
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
while ($row = mysql_fetch_assoc($result)) {
$u = sprintf("INSERT INTO tbxx VALUES ('%s','%s','%s','%s','%s','%s','%s')",'$row[userid]','$row[projectid]','$_POST["packno"]','$_POST["zbnr"]','$_POST["zbsl"]','$_POST["tbbj"]','$_POST["zmark"]');
echo "$u";
echo "successfully insert!". mysql_error();
echo "<meta http-equiv=\"refresh\" content=\"7;URL=tbxx.php\">";
}
mysql_free_result($result);
mysql_close($link);
?>
回复: 问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
空白?你在最后加个 echo 'end'; 看看有没有输出回复: 问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
testing......:)回复: 问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
各位:"echo 'end';"也还是不行啊!我想原理很简单:“就是把两个表相对应字段projectid,userid的值取出来后,放入数组中,再把这个数组与表单传递过来的其他值一起插入一个新的表中”。但就是插入不了新表中???郁闷。。。。,我怀疑是不是取出的数组问题??我原来只通过表单传递变量就能顺利地将值插入到表中。可是现在,就是不行。哪位高手帮帮忙,给指点一二。。。。。:(
回复: 问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
我让你加个 echo 'end'; 就是看看php程序又没有错误,既然你仍然看不到结果,就仔细检查自己的php程序吧。碰到算法的问题再说回复: 问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
$u="INSERT INTO tbxx VALUES ('$row["projectid"]', '$row["userid"]','".$_POST['packno']."','".$_POST['tbbj']."','".$_POST['zmark']."')";将"projectid"、"userid",“”去掉
回复: 问一个关于两个表查询后,将查询后的数据插入第三个表中的问题???
先echo出sql语句,然后房到phpmyadmin里跑下,看看效果,实在不行就直接在phpmyadmin里把结果用查询查出来,在把它自动生成的语句考到程序里,在把变量换进去,一定一点问题没有.页:
[1]