zaiko.csvというCSVの値を用いて、SQLの値を更新したいです。
『// 商品コードをキーに在庫数を更新する 』以下のUPDATE文はどのように書けばよいでしょうか?
$data["Code"] = $line[1];
$data["Qty"] = $line[4];
【やりたいこと】
上記で取得した値を用いて、
行数分だけUPDATE文を繰り返すという処理を想定しているのですが、
UPDATE文をどのように書いて良いか分からずに困っています。
UPDATE文の書き方、または他に良いやり方があれば教えていただけないでしょうか。
初歩の質問で恐縮ですが、ご教示いただけますと幸いです。
(以下、ソース)---
//在庫更新用
if(file_exists("./zaiko.csv")) {
$rawFile = file_get_contents("./zaiko.csv");
} else {
fputs(STDERR, "CSVがダウンロードできていません。\n");
exit;
}
$tmpData = mb_convert_encoding($rawFile,'UTF-8','SJIS-win'); $tmpFile = tmpfile(); $meta = stream_get_meta_data($tmpFile); fwrite($tmpFile, $tmpData); rewind($tmpFile); $file = new SplFileObject($meta["uri"]); $file->setFlags(SplFileObject::READ_CSV); $csvData = array(); // 不要なカラムを削ぎ落とし、必要なものだけ抽出 foreach($file as $no => $line) { if($no == 0) { continue; } else { $data["Code"] = $line[1]; // 在庫表記が文字の場合、数字に変換 if(ctype_digit($line[4])) { $data["Qty"] = $line[4]; } $csvData[$no] = $data; } } // 商品コードをキーに在庫数を更新する $count = sizeof($csvData); $i = 1; while($i < $count) { $sql = "UPDATE ds_items SET Qty = '".$Qty."' WHERE Code = ".$Code; }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。