2012-12-16 194 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