簡體   English   中英

PHP問題與循環並寫入MySql Db

[英]Php Problem with a loop and writing to MySql Db

也許有人可以幫忙,因為我快瘋了:

$action = $_GET['action'];
$items = rtrim($_POST['items'],",");
$sql = mysql_query("SELECT url, pid, log_no FROM plow WHERE id IN ($items)") or die ('Error: ' . mysql_error());

    if ($action == 'start') {
        while ($db_row = mysql_fetch_assoc($sql)) { 
            //random number for the log file name
            $random = mt_rand(1,500000);
            //log file name
            $out_file = $init_loc.'/Logs/log'.$random;
            // the command
            $command = exec("($path" . " nohup plowdown --temp-directory='$init_loc' -o '$init_loc' " . "'".$db_row['url']."' 2> " . "'$out_file' > /dev/null &);" . "echo $$;", $out); 
            exec($command, $out);
            mysql_query("UPDATE plow SET status = 'Pending...', state = 'Active', pid = '".$out[0]."', log_no = '$random' WHERE id IN ($items)") or die ('Error: ' . mysql_error());
        }
    }

基本上,當發出啟動命令時,我希望能夠對$ db_row中的每個值執行操作,為日志生成一個隨機數,並將它們分別存儲在MySql DB中。

現在,它為$ db_row的每個值存儲相同的$ random和$ pid號。

謝謝,克里斯蒂安。

當您使用in子句更新所有項時,最后一項將使用您的最后一個隨機數更新所有項,

' ... where id='.$row['id']

在您的update子句中一次只會更新一行

(顯然,您也已將ID添加到SELECT語句中)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM