在循环结果集的同时将数据插入MySQL

时间:2014-02-20 05:45:26

标签: mysql php

如何从数据库中检索数据时执行插入查询?

我的意思是在运行select查询后,我使用while循环检索数据,我还想将一些字段插入到另一个表中。 我想在PHP代码中强制执行插入。

我试过了:

$firstview=mysql_query("insert into kadam_firstview(jobtype,jobname,admin_id,date,datetime)values('".$trial."','".$jobname."','".$adminid."','".$time."','".$date."')");
$firstview.execute();

但它不起作用。 我想在select查询中运行上层查询,因为我从select查询中获取数据,同时我想将这些数据保存在另一个表中,但查询给出上面提到的错误

1 个答案:

答案 0 :(得分:3)

我认为你的问题更多是针对php开发人员,然后是dba。

无论如何,如果我理解正确,你想从表中选择一个记录集并将这些值(或修改过的值)插入另一个表中?

<?php
$db = new mysqli("host", "username", "password", "databasename");
$result = $db->query("SELECT * FROM table_name");

while ($row = $result->fetch_object()) {
  $trail = $row->trail;
  $jobname = $row->jobname;
  $adminid = 25;
  $time = $row->time;
  $date = $row->date;
  $query = "insert into kadam_firstview(jobtype,jobname,admin_id,date,datetime) values('".$db->escape_string($trial)."','".$db->escape_string($jobname)."','".$db->escape_string($adminid)."','".$db->escape_string($time)."','".$db->escape_string($date)."')";
  $db->query($query);
}

这会将表“table_name”中的行复制到表“kadam_firstview”中,并将adminid设置为25。

http://php.itronic.at/manual/en/class.mysqli.php