2017-09-28 33 views
-3

我在這個錯誤,當我從其他PHP文件.csv文件上傳數據手冊,我的錯誤是: - 「你有一個錯誤的SQL語法;請查看對應於您的MariaDB的服務器版本正確的語法附近使用手冊「你的SQL語法有錯誤;檢查對應於您MariaDB的服務器版本正確的語法使用近

function array_to_sql($queryData , $table , $multiple = true){ 

// Create connection 
$conn = new mysqli("localhost","root", "", "mydata"); 
// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} 

    //If multiple data 
else 
{ 
    foreach($queryData as $queryEntry) 
    { 
      if (count($queryEntry) > 0) { 
       foreach ($queryEntry as $key => $value) { 
        $value = "'$value'"; 
        $updates[] = "$key = $value"; 
       } 
      } 

      $implodeArray = implode(', ', $updates); 
     //print_r($updates); 
     $sql = "INSERT INTO `$table` (`".implode("` , `",array_keys($queryEntry))."`) VALUES('".implode("' , '",array_values($queryEntry))."') ON DUPLICATE KEY UPDATE $implodeArray"; 


     if ($conn->query($sql) === TRUE) { 
     echo "Request Updated"; 
     } else { 
      echo "Error: ". "<br>" . $conn->error . $sql; 
     } 
    }     
    }  
} 
?> 

回答

0

您的CSV字段包含空格,這是不允許的MySQL字段名。

你需要操縱$key或把它放在引號如

 if (count($queryEntry) > 0) { 
      foreach ($queryEntry as $key => $value) { 
       $key='`'.$key.'`'; 
       $value = "'$value'"; 
       $updates[] = "$key = $value"; 
      } 
     } 
+0

可以WIRTE呢? – Rijwandeltax

+0

我的問題解決了。 – Rijwandeltax

+0

不客氣。如果它回答你的問題,請將其標記爲正確答案,以便其他人知道 –

相關問題