2017-03-02 114 views
2

我没有查询到我需要结果的数据库,然后将它存储在一个变量中。然后我会将该变量传递给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 
    } 
?> 

回答

1

您可以在一个查询中使用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()); 
相关问题