Php 当我获取数据并将其插入表中时,查询不起作用
我试图将另一个表中select语句的结果插入到另一个表中。select语句起作用,但insert语句不起作用。请帮帮我Php 当我获取数据并将其插入表中时,查询不起作用,php,sql,database,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'];
$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");
?>
$query=“从sub_code='$enrol'的主题中选择*;
$result=mysql\u query($query);
while($row=mysql\u fetch\u数组($result)){
$csubject=$row['sub_name'];
$cday=$row['sub_day'];
$ctime=$row['sub_time'];
回显“”$csubject。””;
}
$query=mysql\u query(“插入到客户机(客户机代码、客户机名称、客户机日期、客户机时间)值(“$enrol”、“$csubject”、“$cday”、“$ctime”);
标题(“位置:homeclient.php”);
?>
您询问了如何将这两个作为一个查询来执行
这就是为什么:
$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();
$query=“从sub_code='$enrol'的主题中选择*;
$result=mysql\u query($query);
while($row=mysql\u fetch\u数组($result)){
$csubject=$row['sub_name'];
$cday=$row['sub_day'];
$ctime=$row['sub_time'];
回显“”$csubject。””;
$query=mysql\u query(“插入到客户机(客户机代码、客户机名称、客户机日期、客户机时间)值(“$enrol”、“$csubject”、“$cday”、“$ctime”);
}
标题(“位置:homeclient.php”);
?>
试着换成这个。当前您的查询在while之外,它只运行一次,$csubject等的值将始终是您获取结果的最后一个值。Define“not work”。什么不起作用?在哪里?可以组合这些查询insert语句不起作用。如何组合它?将您的
mysql\u查询(…)
更改为mysql\u查询(…)或死亡(mysql\u error())
,并查看错误。您应该将mysqli或PDO与准备好的语句一起使用,mysql\u函数已被弃用。您至少应该使用mysql\u real\u escape\u string()来帮助防止sql注入。正如marcel所说,要么使用,要么死亡,并显示您得到的错误。您想将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");
?>