2013-05-06 2 views
-1

WebQuery에서 데이터를 가져오고 mySQL 데이터베이스에 데이터를 읽으려는 Excel 파일이 있습니다. 다음 코드를 사용하여 mysql 데이터베이스에 쓸 수 없습니다. 어떤 아이디어?PHPExcel을 사용하여 mysql 데이터베이스에 쓸 수 없습니다.

<?php 
$db_host = "localhost";$db_user = "root";$db_pass = "";$db_name ="report";$db_table = "test"; 
require '/PHPExcel/Classes/PHPExcel.php'; 
require_once '/PHPExcel/Classes/PHPExcel/IOFactory.php'; 
$objPHPExcel = PHPExcel_IOFactory::load('Refreshables.xlsx'); 
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) 
{ 
$worksheetTitle  = $worksheet->getTitle(); 
$highestRow   = $worksheet->getHighestRow(); // e.g. 10 
$highestColumn  = $worksheet->getHighestColumn(); // e.g 'F' 
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); 
$nrColumns = ord($highestColumn) - 64; 
    $link = mysql_connect($db_host,$db_user,$db_pass); 
if(!$link) die ('Could not connect to database: '.mysql_error()); 
mysql_select_db($db_name,$link); 
    for ($row = 2; $row <= $highestRow; ++ $row) 
{ 
    $val=array(); 
    for ($col = 0; $col < $highestColumnIndex; ++ $col) 
    { 
     $cell = $worksheet->getCellByColumnAndRow($col, $row); 
     $val[] = $cell->getValue(); 
    } 
     $sql = "insert into 'test' (AppName, Device_Full_Name, App_Type, Carrier, Language, Version, Status, Platform, Project_Type, Base_Device, Build_Type, Project_ID) values('".$val[0]."', '".$val[1]."', '".$val[2]."','".$val[3]."', '".$val[4]."', '".$val[5]."','".$val[6]."', '".$val[7]."', '".$val[8]."','".$val[9]."', '".$val[10]."', '".$val[11]."')"; 
     mysql_query($sql); 
} 
} 
mysql_close($link); 
?> 
+0

틱없이? 쿼리가 성공합니까? (mysql_error를 사용하여 찾으십시오.) –

답변

0

변경

$sql = "insert into 'test' (AppName,... 
        ^   ^ don't use quotes in table or column names 

$sql = "insert into `test` (AppName,... 

또는 심지어 다시는 정확한 위치를 잘못 무엇

$sql = "insert into test (AppName,... 
+0

감사합니다. :). 데이터가 삽입되고 있지만 불완전합니다. 나는 sheet1, sheet2 및 sheet3 데이터가 올바르게 삽입 된 6 개의 시트를 가지고 있습니다. 스프레드 시트 4,5,6의 마지막 행은 어떤 이유로 건너 뜁니다. 어느 누구도 도움이 될 수 있습니까? –

관련 문제