Php 循环MySql插入查询。什么时候吃还是什么时候吃?

Php 循环MySql插入查询。什么时候吃还是什么时候吃?,php,mysql,foreach,while-loop,Php,Mysql,Foreach,While Loop,我在为这个挣扎。。。 基本上,我有一个每天运行的脚本(cron作业)。 此脚本必须从表中检索数据,并将数据发布到另一个表(同一数据库)中 以下是我的示例脚本: <?php $c = mysql_connect("localhost", "user", "password"); $db = mysql_select_db("mydb", $c); $query_sel = "SELECT id, rating, rating_count FROM mytableone"; $resul

我在为这个挣扎。。。 基本上,我有一个每天运行的脚本(cron作业)。 此脚本必须从表中检索数据,并将数据发布到另一个表(同一数据库)中

以下是我的示例脚本:

<?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())");

}
?>

最简单的方法是:

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

(这是一条语句。)

您可以通过一个SQL查询来实现这一点

INSERT INTO mytabletwo SELECT id,rating,rating_count,CURRENT_DATE() FROM mytableone

至于您使用$row而不是$id[…]的错误,具体问题是什么?它是如何失败的?如果您关心多个
插入到
查询中,那么只需添加事务使用。另外,由于您添加了
mysql
标记,您可能应该在这里了解它,我有它,谢谢。你说得对。这是最简单的方法。非常感谢!