2012-12-16 150 views
-2

我想从一个CSV文件(带头)导入一些数据到MySQL表中。我已经调试过这个脚本,它似乎正在工作,直到“Handle”变量。当我运行这段代码时,我得到一个空白屏幕,并且MySQL表格没有用CSV数据更新。我可能在这里错过了一些东西。任何帮助表示赞赏!PHP:导入CSV到MYSQL

感谢,

AME

下面的代码:

<?PHP 

error_reporting(E_ALL & ~E_NOTICE); 
if (ini_get('display_errors') === FALSE) { 
ini_set('display_errors', 1); 
} 

$dbhost = 'localhost'; 
$dbuser = 'myusernam'; 
$dbpasswd = 'mypassword'; 
$db = "dbname"; 

$dbh = mysql_connect($dbhost, $dbuser, $dbpasswd) or die("Unable to connect to SQL server"); 
$my_db = @mysql_select_db($db, $dbh) or die("Unable to select database"); 

$file = $_SERVER['DOCUMENT_ROOT']."/home/test.csv"; 

$handle = fopen($file, "r"); 

while (($fileop = fgetcsv($handle,1000,",")) !==false) 
{ 

    $listid = $fileop[0]; 
    $listclass = $fileop[1]; 
    $type = $fileop[2]; 
    $status = $fileop[3]; 
    $remarks = $fileop[3]; 
    $streetaddress = $fileop[6]; 
    $fulladdress = $fileop[6].",".$fileop[7].",".$fileop[8]; 
    $orgname = $fileop[9]; 
    $licenseid = $fileop[10]; 
    $agentname = $fileop[12]." ".$fileop[12]; 
    $imagecount = $fileop[13]; 

    $sql = mysql_query("INSERT INTO markers (id,Class,Status,AskingPrice,Remarks,StreetAddres,address,OrgName,AgentLicenseID,AgentName,ImageCount) VALUES ('$listid','$listclass','$type','$status','$remarks','$streetaddress','$fulladdress','$orgname','$licenseid','$agentname','$imagecount')"); 

} 

    if($sql) 
    { 
     echo 'data uploaded successfully'; 
    } 

?> 
+0

白屏死亡的,错误检查禁用或报告奇 – 2012-12-16 08:59:18

+0

作为一个新手 - 运行脚本,每个写行之后。在这种情况下,你肯定知道哪一行是错误的。因此,现在删除所有脚本并尝试逐行写入,以检查每个步骤后的预期结果和实际结果。这就是我们如何编写脚本(直到您有足够的经验可以在没有检查的情况下编写100行代码) – zerkms

+3

要调试脚本,请使用[正确的错误报告设置](http://stackoverflow.com/questions/5680831/php-5 -3-确实 - 不显示错误消息)。你必须看到错误文字来检测你的问题。 –

回答

2

喜欢你的文件权限是不正确的声音,我,所以你无法读取文件!如果它至少不是文件的权限它应该给我们更多有用的希望输出一些

error_reporting(E_ALL & ~E_NOTICE); 
if (ini_get('display_errors') === FALSE) { 
    ini_set('display_errors', 1); 
} 

:要获得错误信息输出到浏览器中添加这只是在你<?php标签!

+0

谢谢,我添加了错误报告,仍然得到白屏 – AME

+0

您是否使用Windows服务器或Linux服务器,如果您在Linux服务器上尝试将文件权限设置为具有更多访问权限像0755或0775? – PhearOfRayne

+0

此脚本托管在我的bluehost帐户上。我将权限更改为755,但没有更改结果。当我将其更改为775时,我收到了500个服务器错误。 – AME