だから私は.csvファイルを取得してそれを解析するphpでWebアプリケーションを開発しています。次に、それを mysql データベースに送信します。データの取得に成功し、取得しているすべての数値を入力できます。私が抱えている 1 つの問題は、SQL データベースに日付を挿入することです。
私が認識しているエラーは発生せず、日付の値はちょうど 0000-00-00 です。スクリプト実行時にphp内のデータを画面にエコーしてエラーチェックしています。正常にエコーし、yyyy-mm-dd の形式です。以下は、テストを実行したい場合に問題なく実行される php コードです。残念ながら、システムで wamp/lamp/equivalent が既に実行されていない場合にテストできる公開サーバーはありません。
簡単なものがありませんか?この日付が正しく挿入されないのはなぜですか? 間違ったフォーマットですか?正しい形式のように見えますが、誰が知っていますか?
<?php
//Connect to Database
$con=mysqli_connect("localhost","root","","stockmarket");
// Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Setup URL to download csv file
$requestUrl = "http://ichart.yahoo.com/table.csv?s=GOOG";
// Pull data (download CSV as file)
$CSV = file_get_contents($requestUrl);
// Split results, trim way the extra line break at the end
$quotes = explode("\n",trim($CSV));
//Explore array with .csv contents
foreach($quotes as $quoteraw) {
$quoteraw = str_replace(", I", " I", $quoteraw);
$quote = explode(",", $quoteraw);
echo $quote[0];//error check, should print dates in correct format
//Insert contents into database
mysqli_query($con,"INSERT INTO nasdaq (Symbol,Date,Open,High,Low,Close,Volume,Adjusted Close) VALUES ('goog',$quote[0],$quote[1],$quote[2],$quote[3],$quote[4],$quote[5],$quote[6])");
}
mysqli_close($con);
?>