Есть код: Код (Text): <?php include_once("db_fns.php"); function CSV2Array($content, $delim = ';', $encl = '"', $optional = 1) { $reg = '/(('.$encl.')'.($optional?'?(?(2)':'('). '[^'.$encl.']*'.$encl.'|[^'. $delim.'\r\n]*))('.$delim.'|\r\n)/smi'; preg_match_all($reg, $content, $treffer); $linecount = 0; for ($i = 0; $i<=count($treffer[3]);$i++) { $liste[$linecount][] = $treffer[1][$i]; if ($treffer[3][$i] != $delim) $linecount++; } return $liste; } // usage for example: $content = join('',file('test.csv')); $liste = CSV2Array($content); //print_r($liste); $conn = db_connect(); mysql_select_db("sp_product"); $query = "INSERT INTO sp_product(`productid`, `catmainid`, `catid`, `brandid`, `sellersid`, `prodname`, 'descsmall', 'descfull', 'price', 'picsmall', 'picbig') VALUES('', '".$liste[0]."', '".$liste[1]."', '".$liste[2]."', '".$liste[3]."', '".$liste[4]."', '".$liste[5]."', '".$liste[6]."', '".$liste[7]."', '".$liste[8]."', '".$liste[9]."')"; $result = mysql_query($query) or die("Invalid query: " . mysql_error().__LINE__.__FILE__); ?> выдает ошибку: Что не так? И такой вопрос как можно улучшить данный код, может у кого есть соображения... И правильный csv файл это в котором строка "ar1";"ar2";"ar3"...? какой тогда правильно задавать формат ячейки в excele? Пасиба всем!
Если выдает ошибку Код (Text): You have an error in your SQL syntax то надо вывести SQL-запрос и искать в нем ошибку
Код (Text): near ''descsmall', 'descfull', 'price', 'picsmall', 'picbig') VALUES ясно ведь написано, где ошибка. названия полей надо брать не в одинарные кавычки, а в апострофы.