Foros del Web » Programando para Internet » PHP »

PHP OO conexion php y mysql

Estas en el tema de conexion php y mysql en el foro de PHP en Foros del Web. hola amigos del foro del web, saludos a todo tengo un pequeño problemita con este codigo necesito que me cargue un archivo .csv y su ...
  #1 (permalink)  
Antiguo 23/10/2013, 15:18
 
Fecha de Ingreso: octubre-2013
Mensajes: 4
Antigüedad: 11 años, 1 mes
Puntos: 0
Pregunta conexion php y mysql

hola amigos del foro del web, saludos a todo tengo un pequeño problemita con este codigo necesito que me cargue un archivo .csv y su contenido se guarde directamente en una base de datos.

este es el codigo:

phpexcel.php
Código PHP:
<?php 
//user y pass y database name 
$tbl "phpexcel"
$host="localhost"
$user="manux"
$pass="12345"
$database="prueba"
//$filename="CIUDAD.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:
phpexcel.sql

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
  #2 (permalink)  
Antiguo 23/10/2013, 18:23
 
Fecha de Ingreso: octubre-2011
Ubicación: USA
Mensajes: 166
Antigüedad: 13 años, 1 mes
Puntos: 19
Respuesta: conexion php y mysql

no tienes que poner el valor del ID porque es un autoincremental ademas que no estas diciendo en que campo quires poner los valores,la consulata sql debe quedar asi

INSERT into phpexcel(nombre,correo) VALUES('manuel','[email protected]')


Saludos
  #3 (permalink)  
Antiguo 25/10/2013, 08:43
 
Fecha de Ingreso: octubre-2013
Mensajes: 4
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: conexion php y mysql

nada mi pana me dice que la funcion del llamodo phpexcel no esta definida
  #4 (permalink)  
Antiguo 25/10/2013, 17:01
 
Fecha de Ingreso: octubre-2011
Ubicación: USA
Mensajes: 166
Antigüedad: 13 años, 1 mes
Puntos: 19
Respuesta: conexion php y mysql

Verifica si se esta conectado a la base de datos y si el nombre de la tabla es el que estas poniendo.

Saludos

Etiquetas: conexion, mysql, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:02.