2014-11-21 2 views
0

MySQL로 CSV 파일을 가져 오려고하는 중입니다.CSV에서 mysql에 php 배열을 삽입하십시오

내 CSV 행에 있습니다 id1, id2, id3, id4, ..., user1, user2, user3, ...

나는 숫자 (id1,user1) 한 쌍을와 MySQL에 삽입해야합니다.

이 코드가 있지만 삽입 할 시간에 error 1064을 반환합니다.

<?php 
$arr = file('file.csv'); 

$linea = substr($arr[0], 0, strlen(trim($arr[0])) - 1); 
$id = explode(',', $linea); 

$linea = substr($arr[1], 0, strlen(trim($arr[1])) - 1); 
$pe = explode(',', $linea); 


foreach ($id as $key => $value) 
{ 
    $val[] = '(' . $id[$key] . ',' . $pe[$key] . ')'; 
$linea = implode(',', $val); 

    } 

$sqlr = 'INSERT INTO $db.datos (`cod_art`, `pes`) values '. $linea .' ' ; 

$resultado = mysql_query($sqlr) or die ('Failed to execute ' . $sqlr . ' due to ' . mysql_errno()); 
?> 

누군가가 나를 도와 줄 수 있습니까? 는

+1

http://www.inmotionhosting.com/support/website/database-troubleshooting/error-1064 – Veve

+0

오류를 시도 미리 감사합니다 당신의 질의 및 확인 it.probably 당신은 하나의 값을 전달하지만 두 coloumns을 지정했습니다 –

+0

echo $ sqlr 어떻게하면 잘못된지 알 수 있도록 sql 형식의 데이터를 볼 수 있습니다. – Serpes

답변

0

는 1064입니다 MySQL의 구문 오류 때문에 인쇄이

$type=$_FILES['file']['type']; 
    $filename=$_FILES["file"]["tmp_name"]; 
    $filename_csv = explode(".", $_FILES["file"]["name"]); 
    $extension = end($filename_csv); 
    if($extension=="csv") 
    { 
     if($_FILES["file"]["size"] > 0) 
    { 
     $file = fopen($filename, "r"); 

     while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) 
     { 

     $sql = mysql_query("insert into upload_data(spent,click,filename,date) values('$emapData[0]','$emapData[1]','$emapData[2]','$emapData[3]')") or die (mysql_error()); 
     mysql_query($sql); 
     } 
     fclose($file); 
     echo $error1=ucwords('<div style="margin-left:60px;position: absolute;width: 400px; color: #006400;">CSV File has been successfully Imported</div>'); 

     } 
     } 
     else 
     { 
     echo $error1=ucwords('<div style="margin-left:60px;position: absolute;width: 400px; color: #CC0000;">Invalid File:Please Upload CSV File</div>'); 
     // echo 'Invalid File:Please Upload CSV File'; 
     } 
+0

안녕하세요, 답변 해 주셔서 감사합니다. "Invalid ..."오류가 있습니다. "promar"의 "file"을 변경합니다. 나는 더 많은 것을 바꿔야 만합니까? 고맙습니다 –

관련 문제