【问题标题】:Loop MySql INSERT query. While or Foreach?循环 MySql INSERT 查询。 While 还是 Foreach?
【发布时间】:2013-08-10 19:21:51
【问题描述】:

我正在为此苦苦挣扎…… 基本上,我有一个每天都会运行的脚本(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())");

}
?>

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

我的错在哪里?

谢谢

【问题讨论】:

标签: php mysql foreach while-loop


【解决方案1】:

你可以用一个 SQL 查询来做到这一点

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

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

【讨论】:

  • 我有,谢谢。你说得对。这是最简单的方法。非常感谢!
【解决方案2】:

最简单的方法是:

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

(这是一种说法。)

【讨论】:

    猜你喜欢
    • 2013-03-11
    • 2012-09-05
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多