Foros del Web » Programando para Internet » PHP »

Problema al insertar con PDO

Estas en el tema de Problema al insertar con PDO en el foro de PHP en Foros del Web. Saludos::::::::: tengo una problema al insertar en la base de datos usando PDO, tengo la siguiente sentencia: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $sql = ...
  #1 (permalink)  
Antiguo 07/12/2010, 07:25
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 7 meses
Puntos: 13
Pregunta Problema al insertar con PDO

Saludos:::::::::

tengo una problema al insertar en la base de datos usando PDO,
tengo la siguiente sentencia:
Código PHP:
Ver original
  1. $sql ="INSERT INTO categoria VALUES(?,?,?)";
los tres datos son se tipo varchar(100)
cuando intento insertar el registro (uno/carta recibida/raiz) son inserta, solo lo hace cuando los string no tienen espacios, es decir son una palabra
Que puede ser?
Codigo Completo:
Código PHP:
$sql ="INSERT INTO categoria VALUES(?,?,?)";
$result $this->pdo->prepare($sql);       
$result->execute(array($cate->getNombre(),$cate->getPadre(),$cate->getDescripcion())); 
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #2 (permalink)  
Antiguo 07/12/2010, 07:28
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Problema al insertar con PDO

$sql ="INSERT INTO categoria VALUES('?','?','?')";

intentaste con comillas ?
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 07/12/2010, 07:34
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 7 meses
Puntos: 13
Respuesta: Problema al insertar con PDO

si, pero asi no inserta nada
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #4 (permalink)  
Antiguo 07/12/2010, 07:35
 
Fecha de Ingreso: diciembre-2010
Ubicación: Rosario, Santa Fe
Mensajes: 326
Antigüedad: 13 años, 4 meses
Puntos: 13
Respuesta: Problema al insertar con PDO

Probaste escapar los caracteres antes de meterlos en la consulta?
  #5 (permalink)  
Antiguo 07/12/2010, 07:39
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 7 meses
Puntos: 13
Respuesta: Problema al insertar con PDO

areslepra, la verdad no conozco ese procedimiento, como seria?
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #6 (permalink)  
Antiguo 07/12/2010, 07:41
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Problema al insertar con PDO

Deberías envolverlo en un try & catch a ver si esta lanzando alguna Exception, y es mejor bindear los parámetros antes del execute, para evitar problemas entre versiones de php.

Salu2.
  #7 (permalink)  
Antiguo 07/12/2010, 07:53
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 7 meses
Puntos: 13
Respuesta: Problema al insertar con PDO

Probe lo de areslepra t masterpuppet pero sigue sin funcionar, no comprendo cual puede ser el problema.
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #8 (permalink)  
Antiguo 07/12/2010, 08:24
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Problema al insertar con PDO

Hace un dump despues del execute a ver si te muestra algún error:

Código PHP:
Ver original
  1. ...
  2. $stmt->execute(//array//);
  3. var_dump($stmt->errorInfo());

Última edición por masterpuppet; 07/12/2010 a las 08:34 Razón: Corrigiendo un pequeño typo
  #9 (permalink)  
Antiguo 07/12/2010, 08:45
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 7 meses
Puntos: 13
Respuesta: Problema al insertar con PDO

no muestra nada :(
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #10 (permalink)  
Antiguo 07/12/2010, 08:49
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 7 meses
Puntos: 13
Respuesta: Problema al insertar con PDO

la tabla categoria en la base de datos tiene los siguientes campos:

nombre -> varchar(100)
padre -> varchar(100)
estado -> tinyint(1)
descripcion -> varchar(100)

Código PHP:
Ver original
  1. function insertar($cate){ //cate es objeto de la clase categoria
  2.  $sql ='INSERT INTO categoria VALUES(?,?,?,?)';
  3.  $result = $this->pdo->prepare($sql);
  4. $result->execute(array($cate->getNombre(),$cate->getPadre(),$cate->getEstado(),$cate->getDescripcion()));
  5. }

hay algun error en el metodo?
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #11 (permalink)  
Antiguo 07/12/2010, 09:53
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Problema al insertar con PDO

Porque no pruebas asi:

Código PHP:
$insertar $db->prepare("INSERT INTO categoria VALUES (:nombre,:padre,:estado,:descripcion)");
        
$insertar->bindParam(':nombre'$_POST['nombre'], PDO::PARAM_STR);        
        
$insertar->bindParam(':padre'$_POST['padre'], PDO::PARAM_STR);
        
$insertar->bindParam(':estado'$_POST['estado'], PDO::PARAM_STR);
        
$insertar->bindParam(':descripcion'$_POST['descripcion'], PDO::PARAM_STR);
        
$insertar->execute(); 
Funciona si la cadena deigita en el campo del formulario tiene espacios y todo eso.
  #12 (permalink)  
Antiguo 07/12/2010, 10:03
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 7 meses
Puntos: 13
Respuesta: Problema al insertar con PDO

creo saber cual es el problema pero no se como solucionarlo,
lo que ocurre es que yo paso los datos ingresados en un formulario a un php mediante javascript (por la url), en la php los capturo con el vector $_REQUEST,
el problema es que en la url van los espacion ingresados en el formulario, por ejemplo:
Código PHP:
Ver original
  1. pagina.php?nom=pepe maria&ape=perez cortez
que solucion puede tener esto?
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse

Etiquetas: pdo
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 21:36.