循环MySql INSERT查询。还是Foreach?

时间:2013-08-08 21:59:37

标签: php mysql foreach while-loop

我正在努力解决这个问题...... 基本上,我有一个每天都会运行的脚本(cron job)。 此脚本必须从表中检索数据,并将数据发布到另一个表(同一数据库)中。

这是我的示例脚本:

<?php

$c = mysql_connect("localhost", "user", "password");
$db = mysql_select_db("mydb", $c);


$query_sel = "SELECT id, rating, rating_count FROM mytableone";
$result_sel = mysql_query($query_sel) or die(mysql_error());
$ids = array();

while($id = mysql_fetch_array($result_sel))

    $ids[] = $row;

foreach($ids as $id){ 

$lid = $row['id'];
$etvalue = $row['user_rating'];
$etcount = $row['rating_count'];

mysql_query("INSERT INTO mytabletwo VALUES ('$lid','$etvalue','$etcount',CURRENT_DATE())");

}
?>

我的主要想法是为mytableone中的每个id插入数据(作为foreach语句中的mysql查询)。

我的错在哪里?

由于

2 个答案:

答案 0 :(得分:1)

最简单的方法是:

INSERT INTO mytabletwo(idColumnName, ratingColumnName, rating_countColumnName, dateColumnName) SELECT id, rating, rating_count, CURRENT_DATE() FROM mytableone;

(这是一个陈述。)

答案 1 :(得分:1)

您可以使用一个SQL查询

执行此操作
INSERT INTO mytabletwo SELECT id,rating,rating_count,CURRENT_DATE() FROM mytableone

关于你使用$ row而不是$ id [...]

的错误