所以我正在用 php 开发一个 Web 应用程序,它抓取一个 .csv 文件并对其进行解析。然后将其提交到 mysql 数据库。我成功地检索了数据,并且能够输入我正在检索的所有数值。我遇到的一个问题是将日期插入 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);
?>