当我获取数据并将其插入表中时,查询不起作用

时间:2014-01-31 14:41:53

标签: php sql database

我试图将另一个表中的select语句的结果插入到另一个表中。 select语句有效,但insert语句不起作用。请帮帮我。

$query="SELECT * FROM subject WHERE sub_code = '$enrol' ";
$result = mysql_query($query);

while($row = mysql_fetch_array($result)) {
  $csubject=$row['sub_name'];
  $cday=$row['sub_day'];
  $ctime=$row['sub_time'];

  echo "<strong>". $csubject . "</strong>";
}

$query = mysql_query("INSERT INTO client (client_csub_code,client_csub_name,client_csub_day,client_csub_time) VALUES ('$enrol','$csubject','$cday','$ctime')");

header("Location:homeclient.php");
?> 

2 个答案:

答案 0 :(得分:0)

您询问如何将这两个作为一个查询。

这是:

$query = mysql_query("INSERT INTO `client` ( `client_csub_code`, `client_csub_name`, `client_csub_day`, `client_csub_time` ) SELECT `sub_code`, `sub_name`, `sub_day`, `sub_time` FROM `subject` WHERE `code` = '$enrol'");

// I would also add error checking
if ( mysql_errno() )
    echo mysql_error();

答案 1 :(得分:0)

$query="SELECT * FROM subject WHERE sub_code = '$enrol' ";
$result = mysql_query($query);

while($row = mysql_fetch_array($result)) {
  $csubject=$row['sub_name'];
  $cday=$row['sub_day'];
  $ctime=$row['sub_time'];

  echo "<strong>". $csubject . "</strong>";
  $query = mysql_query("INSERT INTO client (client_csub_code,client_csub_name,client_csub_day,client_csub_time) VALUES ('$enrol','$csubject','$cday','$ctime')");
}   
header("Location:homeclient.php");
?> 

尝试更改为此。目前您的查询超出了您的查询范围,它只会运行一次,$ csubject等的值将始终是您获取结果的最后一个值。