PHP:将CSV导入MYSQL

时间:2012-12-16 08:56:42

标签: php mysql

我正在尝试将CS​​V文件(带标题)中的一些数据导入MySQL表。我调试了这个脚本,它似乎一直在工作直到“Handle”变量。当我运行此代码时,我得到一个空白屏幕,并且没有使用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';
    }

?>

1 个答案:

答案 0 :(得分:2)

听起来像你的文件权限不正确,所以你无法读取文件!要将错误消息输出到您的浏览器,请在<?php标记下添加:

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

如果它不是文件权限,至少它应该有希望输出对我们更有用的东西!