este es el codigo:
phpexcel.php
Código PHP :
Código PHP: <?php //user y pass y database name $tbl = "phpexcel"; $host="localhost"; $user="manux"; $pass="12345"; $database="prueba"; //$filename="phpexcel.csv"; //como vamos a delimitar el csv function getcsv($filename, $delim =","){ $row = 0; $dump = array(); //creamos un array para el csv $f = fopen ($filename,"r"); $size = filesize($filename)+1; while ($data = fgetcsv($f, $size, $delim)) { $dump[$row] = $data; //ponemos los datos en el array //echo $data[1]."<br>"; $row++; } fclose ($f); return $dump; } //esto pone los datos en la funcion al csv function makeINSERTS($text, $table){ global $linkdata; //hace la conexion $insert = array(); //verifica la conexion y la bd $i = 0; while (list($key, $val) = @each($text)){ //inserta los datos $insert[$i] = "INSERT into ".$table." VALUES('',')"; $insert[$i] .= implode("','", $val); $insert[$i] .= "')\n"; echo "{$insert[$i]}"; $result = mysql_query($insert[$i], $linkdata) or die('Query failed: ' . mysql_error()); $i++; } return $insert; } // if ($_POST["Cargar"]=="Cargar") { if (is_uploaded_file($_FILES['userfile']['tmp_name'])) { $file=$_FILES['userfile']['tmp_name']; $linkdata = mysql_connect($host, $user, $pass) or die('no hay conexion: ' . mysql_error()); mysql_select_db($database) or die('no se puede seleccionar la bd'); $CSVarray = getcsv($file); $CSVarray = makeINSERTS($CSVarray, "$tbl"); } else { echo "error subir archivo"; exit; } } else { //form upload echo " <FORM ENCTYPE=\"multipart/form-data\" ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=POST> Cargar Archivo: <INPUT NAME=\"userfile\" TYPE=\"file\"> <INPUT TYPE=\"submit\" VALUE=\"Cargar\" name=Cargar></FORM> "; } ?>
y este es el contenido del archivo csv:
1,manuel,[email protected]
2,yosimar,[email protected]
3,luis,[email protected]
4,jose,[email protected]
5,manuel2,[email protected]
6,yosimar2,[email protected]
7,luis2,[email protected]
8,jose2,[email protected]
9,manuel3,[email protected]
10,yosimar3,[email protected]
y la base de datos es esta:
nombre de base de datos: phpexcel
campos de base de datos:
id int(11) AUTO_INCREMENT
nombre varchar(100) utf8_general_ci
correo varchar(100) utf8_general_ci
y me muestra este error :
INSERT into phpexcel VALUES('',')1','manuel','[email protected]') Query failed: Column count doesn't match value count at row 1
por favor alguien que me pueda ayudar a correguir esa falla e hecho de todo y nada, les estaría muy agradecido