Loop MySql INSERT query. While or Foreach?

给你一囗甜甜゛ 提交于 2019-12-11 19:26:11

问题


I'm struggling whit this... Basically, I have a script that will run every day (cron job). This script has to retrieve data from a table and it will post the data in another table (same database).

Here is my example script:

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

}
?>

My main idea is to insert data (as mysql query in foreach statement) "for each id from mytableone".

Where is my fault?

Thanks


回答1:


You can do this with one SQL query

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

As to the fault you are using $row instead of $id[...]




回答2:


The easiest way to do this is:

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

(That is one statement.)



来源:https://stackoverflow.com/questions/18136883/loop-mysql-insert-query-while-or-foreach

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!