2014-01-13 77 views
3

使用Johnboy's tutorial将.csv文件导入到MySQL中,我尝试制作一个脚本,它将从Yahoo finance中获取汇率数据,并将其写入MySQL数据库。使用PHP从Yahoo Finance中导入csv到MySQL中

<?php 

//connect to the database 
$host = "****" 
$user = "****" 
$password = "****" 
$database = "****" 
$connect = mysql_connect($host,$user,$password); 
mysql_select_db($database,$connect); 

//select the table 
if ($_FILES[csv][size] > 0) { 

    //get the csv file 
    $symbol = "ZARINR" 
    $tag = "l1" 
    $file = "http://finance.yahoo.com/d/quotes.csv?e=.csv&f=$tag&s='$symbol'=x"; 
    $handle = fopen($file,"r"); 

    //loop through the csv file and insert into database 
    do { 
     if ($data[0]) { 
      mysql_query("INSERT INTO ZAR_to_INR(exchange_rate) VALUES 
       ( 
        '".addslashes($data[0])."', 
       ) 
      "); 
      echo "done"; 
     } 
    } while ($data = fgetcsv($handle,1000,",","'")); 

    //redirect 
    header('Location: import.php?success=1'); die; 

} 

else{ 
    echo "nope"; 
} 

?> 

我添加了回声,希望他们能告诉我脚本是否工作。它根本不起作用。没有错误消息或任何东西。当我通过在我的虚拟主机中打开它来运行脚本时,它不会运行。

我很感激任何关于如何使这个脚本工作的建议(或者甚至是解决问题的替代方法)。

+0

尝试用mysql调试:'mysql_select_db($数据库)或死亡(“无法连接到数据库');' – Melon

+0

'$ result = mysql_query($ query)或死('query fail:'。mysql_error());' – Melon

+0

'$ connect = mysql_connect($ host,$ user,$ password)无法连接到服务器:'。mysql_error());' – Melon

回答

1

尝试使用mysql的调试:

mysql_select_db($database) or die('Cant connect to database'); 
$result = mysql_query($query) or die('query fail : ' . mysql_error()); 
$connect = mysql_connect($host,$user,$password) 
    or die('Cant connect to server: ' . mysql_error()); 

找到这个输出,你需要检查你的php error_log中:where-does-php-store-the-error-log

+0

'query fail:Query was empty'是我得到的唯一错误消息。我应该使用哪个查询? – gill

+0

它似乎连接到数据库和服务器正常,它甚至有成功消息头变化,但我的MySQL数据库没有数据添加到它。 – gill