下面这个代码为什么本地windows下可以,上传服务器linux就没反应了。有人帮忙不?<?php
$url = "http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDCNY=x"; 
?>
<?php
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($handle);if(curl_errno($handle)):
echo "CURL Error: " . curl_error($handle);
else:
$sql = "insert into forexrates (`currencypair`, `rate`, `source-time`) values ";
$values = array();$rows = explode("\n", $result); //echo print_r($rows); echo print_r($result);
foreach($rows as $row):
//"AUDCNY=X",6.8059,"2/29/2012","7:54pm"
$cols = explode(",", $row);
if(count($cols) < 4):
continue;
endif;
$currency_pair = substr($cols[0], 1, 6);
$rate = $cols[1];
$t = trim($cols[2], '" ') . ' ' . trim(trim($cols[3]), '"'); //echo $t;$source_date = new DateTime($t);
$source_date_str = $source_date->format('Y-m-d H:i:s');$values[] = " ('$currency_pair', '$rate', '$source_date_str')";
endforeach;mysql_selectdb('falcon');
$sql .= implode(',', $values); //
echo $sql;
mysql_query($sql);endif;
curl_close($handle);
?>

解决方案 »

  1.   

    1、没看到连接数库的代码
    2、mysql_selectdb 写错了吧
    3、echo $sql; //是什么结果
      

  2.   

    怀疑你的服务器的curl是否工作正常对于你的关键语句,建议逐行debug
      

  3.   

    数据库有包含的。没有问题。在windows下都可以的
    请问服务器curl怎么弄啊?
      

  4.   

    你先看一下服务器上curl库开没开吧。function_exits一下或者看看phpinfo有没有curl模块。linux上的给php加模块不像windows上在php.ini中打开一个注释就ok了。需要用phpize动态编译一下,再在php.ini里面把生成的*.so加进去。或者你自己重新编译一下php吧。正好把php版本升级到最新。
      

  5.   

    非常感谢各位,今天搞定。用来下命令
    sudo apt-get install php5-curl