如何从查询中获取结果并将结果插入其他表中?
问题描述:
我没有查询到我需要结果的数据库,然后将它存储在一个变量中。然后我会将该变量传递给INSERT INTO语句,但由于某种原因,我的代码无法工作。这是我的代码/如何从查询中获取结果并将结果插入其他表中?
$query = "SELECT * from animals where old= 1 AND user_id=".$_SESSION['user_id'];
$result = mysqli_query(mysqli_connect("","","", ""), $query);
while ($row = mysqli_fetch_array($result))
{
$variable[] = $row['number'];
}
//现在我将在$变量传递给INSERT INTO语句
if(isset($_POST['submit_d']))
{
foreach($variable as $var)
{
$query="INSERT INTO selectedanimals(number) VALUES ({$var},2)";
mysqli_query($con, $query) or die (mysql_error());
}
?>
<script>
alert("Animal added.");
self.location="chooseAnimals.php";
</script>
<?php
}
?>
答
您可以在一个查询中使用INSERT INTO ... SELECT
用于此目的:
INSERT INTO selectedanimals (number)
SELECT number
FROM animals
WHERE old = 1 AND user_id = some_id
PHP代码:
$query = "INSERT INTO selectedanimals (number) ";
$query.= "SELECT number FROM animals WHERE old = 1 AND user_id = ".$_SESSION['user_id'];
mysqli_query($con, $query) or die (mysql_error());