consulta preparada y array
Publicado por Charly (70 intervenciones) el 13/01/2018 13:46:52
Hola, he hecho un crud de personas con consultas preparadas en pdo que funcionaba y ahora me han mandado hacerlo de una manera que no entiendo, que es pasando los valores a usar en un array en el execute().
Por ejemplo, para crear una persona puse esto y me funcionaba:
Ahora he buscado por internet y he escrito esto:
Y me dice:
Notice: Trying to get property of non-object in C:\xampp\htdocs\xampp\ad\personas\nuevo.php on line 59
SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
Como no me funcionaba, he escrito esto:
Y me sale el siguiente fallo:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'codigo' cannot be null
Por ejemplo, para crear una persona puse esto y me funcionaba:
1
2
3
4
5
6
7
$stmt=conectar()->prepare("INSERT INTO persona (codigo,nombre) VALUES (:codigo,:nombre)");
$stmt->bindParam(':codigo',$codigo);
$stmt->bindParam(':nombre',$nombre);
$codigo=$_GET['codigo'];
$nombre=$_GET['nombre'];
$stmt->execute();
$texto="Persona creada!";
1
2
$stmt=conectar()->prepare("INSERT INTO persona (codigo,nombre) VALUES (:codigo,:nombre)");
$stmt->execute(array(':codigo'->$codigo,':nombre'=>$nombre));
Notice: Trying to get property of non-object in C:\xampp\htdocs\xampp\ad\personas\nuevo.php on line 59
SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
Como no me funcionaba, he escrito esto:
1
2
3
$stmt=conectar()->prepare("INSERT INTO persona (codigo,nombre) VALUES (:codigo,:nombre)");
$persona=new Persona($codigo,$nombre);
$stmt->execute((array)$persona);
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'codigo' cannot be null
Valora esta pregunta


0