Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema escribir un dato en PDO

Estas en el tema de Problema escribir un dato en PDO en el foro de PHP en Foros del Web. Hola. Estoy aprendiendo a programar PHP en Web. Creo la tabla en MySQL Y luego programo en PHP... Código PHP: <?php try {      $base  = new  ...
  #1 (permalink)  
Antiguo 13/02/2015, 03:50
 
Fecha de Ingreso: enero-2003
Ubicación: Madrid
Mensajes: 136
Antigüedad: 21 años, 3 meses
Puntos: 1
Problema escribir un dato en PDO

Hola. Estoy aprendiendo a programar PHP en Web.

Creo la tabla en MySQL



Y luego programo en PHP...

Código PHP:
<?php
try {
    
$base = new PDO('mysql:host=127.0.0.1;dbname=_prueba''root''practica');
    
$base->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    
    
$sql "INSERT INTO Persona (Nombre, Apellidos, Edad) VALUES (:apellido, :nombre, :edad)";
    
// Preparación de la consulta con los marcadores
    
$resultado $base->prepare($sql);
    
$resultado->execute(array('apellidos' => 'Rincón López','Nombre' => 'Clara''Edad' => 42)); 
    echo 
"El identificador de la última persona añadida es: ";
    echo 
$base->lastInsertId()." .";
    
$resultado->closeCursor();
}
catch (
Exception $e) {
    die(
'Error : '.$e->GetMessage());
}
?>
Esto me sale error en la web local

Error : SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

¿Dónde está el fallo?
__________________
José Daniel Nuño
Informático y desarrollador de Web PHP-MySQL
Fundación Carmen Pardo-Valcarce
  #2 (permalink)  
Antiguo 16/02/2015, 06:07
 
Fecha de Ingreso: enero-2003
Ubicación: Madrid
Mensajes: 136
Antigüedad: 21 años, 3 meses
Puntos: 1
Respuesta: Problema escribir un dato en PDO

Cita:
Iniciado por Dselling Ver Mensaje
Hola. Estoy aprendiendo a programar PHP en Web.

Creo la tabla en MySQL



Y luego programo en PHP...

Código PHP:
<?php
try {
    
$base = new PDO('mysql:host=127.0.0.1;dbname=_prueba''root''practica');
    
$base->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    
    
$sql "INSERT INTO Persona (Nombre, Apellidos, Edad) VALUES (:apellido, :nombre, :edad)";
    
// Preparación de la consulta con los marcadores
    
$resultado $base->prepare($sql);
    
$resultado->execute(array('apellidos' => 'Rincón López','Nombre' => 'Clara''Edad' => 42)); 
    echo 
"El identificador de la última persona añadida es: ";
    echo 
$base->lastInsertId()." .";
    
$resultado->closeCursor();
}
catch (
Exception $e) {
    die(
'Error : '.$e->GetMessage());
}
?>
Esto me sale error en la web local

Error : SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

¿Dónde está el fallo?

Solucionado.

Sólo se cambia por:

Código PHP:
$resultado->execute(array('apellidos' => 'Rincón López','Nombre' => 'Clara''Edad' => 42)); 
Todos minúsculas de nombre, apellidos y edad
__________________
José Daniel Nuño
Informático y desarrollador de Web PHP-MySQL
Fundación Carmen Pardo-Valcarce

Etiquetas: dato, mysql, pdo, sql, tabla
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 23:08.