Foros del Web » Programando para Internet » PHP »

otro problema

Estas en el tema de otro problema en el foro de PHP en Foros del Web. despues de corregir el error que me dijieron me salio un nuevo error PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined alguien me ...
  #1 (permalink)  
Antiguo 11/04/2013, 19:02
 
Fecha de Ingreso: diciembre-2006
Mensajes: 9
Antigüedad: 17 años, 4 meses
Puntos: 0
otro problema

despues de corregir el error que me dijieron me salio un nuevo error

PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

alguien me podria ayudar se lo agradeceria

try {
# Conectamos con la base de datos...
$dbh = new PDO("mysql:host=".$databaseHost.";dbname=".$databa seName, $databaseUser, $databasePassword);
} catch(PDOException $err) {
echo "<pre>".print_r($err,true)."</pre>";
exit();
}

if($_POST["botonEnviar"])
{
try {
# Creamos la cadena sql
$sql="INSERT INTO `preguntas1`
( `cm`,`cf`,`c18`,`c25`,`c34`,`c44`,`c54`,`c55`,`pri `,`sec`,`ter`,`uni`,`pos`,`mas`,`dep`,`ind`,`desc` ,`est`,`ama`,`jub`,`centro`,`norte`,`sur`,`este`,` oeste`,`interior`,`sepmuchomejor`,`sepmejor`,`sepi gual`,`seppeor`,`sepmuchopeor`,`sepnosabe`,`segmuc homejor`,`segmejor`,`segigual`,`segpeor`,`segmucho peor`,`segnosabe`,`desempleo`,`inflacion`,`insegur idad`,`habitacional`,`corrupcion`,`gremial`,`educa cion`,`salud`,`gocupa`,`gocupamedia`,`gnoseocupa`, `gotra`,`gnsnc`,`iaprueba`,`idesaprueba`,`inosabe` ,`inocontesta`,`atsi`,`atno`,`atnosabe`,`atnoconte sta`,`adaprueba`,`addesaprueba`,`adnosabe`,`adnoco ntesta`,`vivparatodos`,`vivnecesitados`,`vivnosabe `,`vivnocontesta`,`cfkaprueba`,`cfkdesaprueba`,`cf knosnoc`,`ckpositiva`,`ckneutral`,`cknegativa`,`ck nosnoc`,`jmuaprueba`,`jmudesaprueba`,`jmunosnoc`,` jupositiva`,`juneutral`,`junegativa`,`junosnoc`,`m aiaprueba`,`maidesaprueba`,`mainosnoc`,`mipositiva `,`mineutral`,`minegativa`,`minosnoc`,`gesjuanu`,` gesjuanc`,`gesotra`,`gesnosnoc`,`jcrpositiva`,`jcr negativa`,`jcrneutral`,`jrcnosnoc`
)VALUES(
:cm, :cf, :c18, :c25, :c34, :c44, :c54, :c55, :pri, :sec, :ter, :uni, :pos, :mas, :dep, :ind, :desc, :est, :ama, :jub, :centro, :norte, :sur, :este, :oeste, :interior, :sepmuchomejor, :sepmejor, :sepigual, :seppeor, :sepmuchopeor, :sepnossabe, :segmuchomejor, :segmejor, :segigual, :segpeor, :segmuchopeor, :segnosabe, :desempleo, :inflacion, :inseguridad, :habitacional, :corrupcion, :gremial, :educacion, :salud, :gocupa, :gocupamedia, :gnoseocupa, :gotra, :gnsnc, :iaprueba, :idesaprueba, :inosab, :inocontesta, :atsi, :atno, :atnosabe, :atnocontesta, :adaprueba, :addesaprueba, :adnosabe, :adnocontesta, :vivparatodos, :vivnecesitados, :vivnosabe, :vivnocontesta, :cfkaprueba, :cfkdesaprueba, :cfknosnoc, :ckpositiva, :ckneutral, :cknegativa, :cknosnoc, :jmuaprueba, :jmudesaprueba, :jmunosnoc, :jupositiva, :juneutral, :junegativa, :junosnoc, :maiaprueba, :maidesaprueba, :mainosnoc, :mipositiva, :mineutral, :minegativa, :minosnoc, :gesjuanu, :gesjuanc, :gesotra, :gesnosnoc, :jcrpositiva, :jcrneutral, :jcrnegativa, :jrcnosnoc
)";
# Preparamos la cadena para guardar los datos
$sth=$dbh->prepare($sql);
# Creamos el array con los valores a ser reemplazados en la cadena sql
# En el textArea, reemplazamos los saltos de linea por <br> con la funcion
# nl2br, para poder mostrarlos en la web.
$arrayValores=array(
':cm'=>($_POST["cm"]=="on"?1:0),
':cf'=>($_POST["cf"]=="on"?1:0),
':c18'=>($_POST["c18"]=="on"?1:0),
':c25'=>($_POST["c25"]=="on"?1:0),
':c34'=>($_POST["c34"]=="on"?1:0),
':c44'=>($_POST["c44"]=="on"?1:0),
':c54'=>($_POST["c54"]=="on"?1:0),
':c55'=>($_POST["c55"]=="on"?1:0),
':pri'=>($_POST["pri"]=="on"?1:0),
':sec'=>($_POST["sec"]=="on"?1:0),
':ter'=>($_POST["ter"]=="on"?1:0),
':uni'=>($_POST["uni"]=="on"?1:0),
':pos'=>($_POST["pos"]=="on"?1:0),
':mas'=>($_POST["mas"]=="on"?1:0),
':dep'=>($_POST["dep"]=="on"?1:0),
':ind'=>($_POST["ind"]=="on"?1:0),
':desc'=>($_POST["desc"]=="on"?1:0),
':est'=>($_POST["est"]=="on"?1:0),
':ama'=>($_POST["ama"]=="on"?1:0),
':jub'=>($_POST["jub"]=="on"?1:0),
':centro'=>($_POST["centro"]=="on"?1:0),
':norte'=>($_POST["norte"]=="on"?1:0),
':sur'=>($_POST["sur"]=="on"?1:0),
':este'=>($_POST["este"]=="on"?1:0),
':oeste'=>($_POST["oeste"]=="on"?1:0),
':interior'=>($_POST["interior"]=="on"?1:0),
':sepmuchonejor'=>($_POST["sepmuchomejor"]=="on"?1:0),
':sepmejor'=>($_POST["sepmejor"]=="on"?1:0),
':sepigual'=>($_POST["sepigual"]=="on"?1:0),
':seppeor'=>($_POST["seppeor"]=="on"?1:0),
':sepmuchopeor'=>($_POST["sepmuchpeor"]=="on"?1:0),
':sepnosabe'=>($_POST["sepnosabe"]=="on"?1:0),
':segmuchonejor'=>($_POST["segmuchomejor"]=="on"?1:0),
':segmejor'=>($_POST["segmejor"]=="on"?1:0),
':segigual'=>($_POST["segigual"]=="on"?1:0),
':segpeor'=>($_POST["segpeor"]=="on"?1:0),
':segmuchopeor'=>($_POST["segmuchopeor"]=="on"?1:0),
':segnosabe'=>($_POST["segnosabe"]=="on"?1:0),
':desempleo'=>($_POST["desempleo"]=="on"?1:0),
':inflacion'=>($_POST["inflacion"]=="on"?1:0),
':inseguridad'=>($_POST["inseguridad"]=="on"?1:0),
':habitacional'=>($_POST["habitacional"]=="on"?1:0),
':corrupcion'=>($_POST["corrupcion"]=="on"?1:0),
':gremial'=>($_POST["gremial"]=="on"?1:0),
':educacion'=>($_POST["educacion"]=="on"?1:0),
':salud'=>($_POST["salud"]=="on"?1:0),
':gocupa'=>($_POST["gocupa"]=="on"?1:0),
':gocupamedia'=>($_POST["gocupamedia"]=="on"?1:0),
':gnoseocupa'=>($_POST["gnoseocupa"]=="on"?1:0),
':gotra'=>($_POST["gotra"]=="on"?1:0),
':gnsnc'=>($_POST["gnsnc"]=="on"?1:0),
':iaprueba'=>($_POST["iaprueba"]=="on"?1:0),
':idesaprueba'=>($_POST["idesaprueba"]=="on"?1:0),
':inosabe'=>($_POST["inosabe"]=="on"?1:0),
':inocontesta'=>($_POST["inocontesta"]=="on"?1:0),
':atsi'=>($_POST["atsi"]=="on"?1:0),
':atno'=>($_POST["atno"]=="on"?1:0),
':atnosabe'=>($_POST["atnosabe"]=="on"?1:0),
':atnocontesta'=>($_POST["atnocontesta"]=="on"?1:0),
':adaprueba'=>($_POST["adaprueba"]=="on"?1:0),
':addesaprueba'=>($_POST["addesaprueba"]=="on"?1:0),
':adnosabe'=>($_POST["adnosabe"]=="on"?1:0),
':adnocontesta'=>($_POST["adnocontesta"]=="on"?1:0),
':vivparatodos'=>($_POST["vivparatodos"]=="on"?1:0),
':vivnecesitados'=>($_POST["vivnecesitados"]=="on"?1:0),
':vivnosabe'=>($_POST["vivnosabe"]=="on"?1:0),
':vivnocontesta'=>($_POST["vivnocontesta"]=="on"?1:0),
':cfkaprueba'=>($_POST["cfkaprueba"]=="on"?1:0),
':cfkdesaprueba'=>($_POST["cfkdesaprueba"]=="on"?1:0),
':cfknosnoc'=>($_POST["cfknosnoc"]=="on"?1:0),
':ckpositiva'=>($_POST["ckpositiva"]=="on"?1:0),
':ckneutral'=>($_POST["ckneutral"]=="on"?1:0),
':cknegativa'=>($_POST["cknegativa"]=="on"?1:0),
':cknosnoc'=>($_POST["cknosnoc"]=="on"?1:0),
':jmuaprueba'=>($_POST["jmuaprueba"]=="on"?1:0),
':jmudesaprueba'=>($_POST["jmudesaprueba"]=="on"?1:0),
':jmunosnoc'=>($_POST["jmunosnoc"]=="on"?1:0),
':jupositiva'=>($_POST["jupositiva"]=="on"?1:0),
':juneutral'=>($_POST["juneutral"]=="on"?1:0),
':junegativa'=>($_POST["junegativa"]=="on"?1:0),
':junosnoc'=>($_POST["junosnoc"]=="on"?1:0),
':maiaprueba'=>($_POST["maiaprueba"]=="on"?1:0),
':maidesaprueba'=>($_POST["maidesaprueba"]=="on"?1:0),
':mainosnoc'=>($_POST["mainosnoc"]=="on"?1:0),
':mipositiva'=>($_POST["mipositiva"]=="on"?1:0),
':mineutral'=>($_POST["mineutral"]=="on"?1:0),
':minegativa'=>($_POST["minegativa"]=="on"?1:0),
':minosnoc'=>($_POST["minosnoc"]=="on"?1:0),
':gesjuanu'=>($_POST["gesjuanu"]=="on"?1:0),
':gesjuanc'=>($_POST["gesjuanc"]=="on"?1:0),
':gesotra'=>($_POST["gesotra"]=="on"?1:0),
':gesnosnoc'=>($_POST["gesnosnoc"]=="on"?1:0),
':jcrpositiva'=>($_POST["jcrpositiva"]=="on"?1:0),
':jcrneutral'=>($_POST["jcrneutral"]=="on"?1:0),
':jcrnegativa'=>($_POST["jcrnegativa"]=="on"?1:0),
':jrcnosnoc'=>($_POST["jrcnosnoc"]=="on"?1:0)
);
# Ejecutamos la consulta sql insertando los valores en la tabla
$sth->execute($arrayValores);

echo "ENCUESTADO NUMERO: ".$dbh->lastInsertId();
} catch(PDOException $err) {
echo "<pre>".print_r($err,true)."</pre>";
exit();
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title> - ENCUESTA</title>
<link rel="stylesheet" href="estilos1.css">
<style>
input[type="checkbox"] {
transform:scale(2,2);
-ms-transform:scale(2,2); /* IE 9 */
-moz-transform:scale(2,2); /* Firefox */
-webkit-transform:scale(2,2); /* Safari and Chrome */
-o-transform:scale(2,2); /* Opera */
}
/* estilos para el formulario */
.title {clear:both;float:left;width:100px;}
.input {float:left;}
.button {clear:both;padding-top:20px;}
input {border:1px solid;}
/* estilos para mostrar el contenido de la base de datos */
#contenidoDatos {margin-top:20px;padding-top:5px;border-top:1px solid;}
#contenidoDatos .id {clear:both;float:left;width:20px;}
#contenidoDatos .text {float:left;width:100px;}
#contenidoDatos .textArea {float:left;width:200px;}
#contenidoDatos .select {float:left;width:50px;}
#contenidoDatos .checkbox {float:left;width:10px;}
</style>
</head>

<body>
<div class="wrap">
<ul class="votacion index">
<h1 align="center">ENCUESTA </h1>
<form action='<?php echo $_SERVER["PHP_SELF"]?>' method='POST'>
  #2 (permalink)  
Antiguo 11/04/2013, 21:07
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: otro problema

OMG! en serio, no te tomas mas de 3 o 4 segundos seleccionar PHP en el select de Highlight para una correcta visualización del código, lo que presentas hace sangrar los ojos al intentar leerlo, por favor, usa las herramientas que proporciona el foro para presentar código!!!

En fin, el error dice que el numero de parámetros no es correcto, que no se ah definido...

Ahora, para buscar donde esta el error pfff, paso, leer un código así como esta es un dolor de cabeza....
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 12/04/2013, 02:50
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Respuesta: otro problema

Tal y como ha dicho Nemutagk leer un codigo e intentar buscar algó ahí es muy confuso y doloroso, mejor edita el mensaje pon bine el código y hablamos.

Por otra parte parece algún fallo a la hora de ahcer el insert, que no pasas los mismos datos que campos. ve lanzando las consultas individualmente en mysql y averigua
__________________
No diseñes usando tablas.

Etiquetas: Ninguno
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 17:12.