PHP INSERT和LEFT JOIN

时间:2013-09-07 12:04:53

标签: php mysql sql

我在将一个字段从表格插入另一个字段时遇到问题。我有两个表:成员和预订表。在这两个表中,我都有 member_ID 我希望从成员表获取 member_ID 的值,并将其插入预订表中。

这是我的代码:

$type=$_POST['serv_name'];
$no=$_POST['reserv_hours'];
$time=$_POST['reserv_time'];
$date=$_POST['reserv_date'];
$ID=$_POST['member_ID'];
$fn=$_SESSION['fn'];

$sql=mysql_query("INSERT INTO reservation (serv_name,reserv_hours,reserv_time,reserv_date,member_ID)
VALUES ('$type','$no','$time','$date',$ID)");

$sql1=mysql_query("INSERT INTO reservation (reserv_ID,serv_name,reserv_hours,reserv_time,reserv_date,member_ID)
(SELECT r.reserv_ID,r.serv_name,r.reserv_hours,r.reserv_time,r.reserv_date,m.member_ID  FROM reservation r LEFT JOIN member  m ON r.member_ID=m.member_ID)");

$result = ($sql.$sql1);
if($result)
{
    header("Location:payment.php");
}
else
{
    echo "ERROR!";
    header("refresh:5;url=main.php");
}

它正在工作,它在我的数据库中注册,但我的预订表中的 member_ID 仍为0.请帮助。提前谢谢。

2 个答案:

答案 0 :(得分:0)

FROM reservation r
你忘记了别名

答案 1 :(得分:0)

查看您的查询,有2个错误:

我们只会查看SELECT。

  1. 你需要别名你的表,你使用r.fields但从未声明哪个表是r。

  2. 您正在从通过该ID加入的联接表中选择memID ...为什么要在另一个表中获取它而不是仅使用您拥有的那个?

  3. 话虽如此,这是建议:

    SELECT r.reserv_ID,r.serv_name,r.reserv_hours,r.reserv_time,r.reserv_date,r.member_ID  FROM reservation r