php - sqlstate - invalid parameter number number of bound variables does not match number of tokensnull
ZF2 SQLSTATE[HY093]: número de parámetro inválido: parámetro no definido (0)
Tengo el error "SQLSTATE [HY093]: número de parámetro inválido: parámetro no definido" al intentar guardar una matriz en un InnoDB relacionado, lo cual no tiene sentido para mí porque ya he usado el mismo método varias veces en la misma aplicación y la conexión DB parece funcionar también porque puedo leer y eliminar entradas sin ningún problema.
Revisé muchas preguntas similares con la esperanza de que resolvieran las mías, pero no encontré ninguna que resolviera mi problema.
Este es el método que uso para guardar para crear la matriz y guardarla en la base de datos:
public function saveBest(Besten $besten)
{
$GePunkte = (int) $besten->Punkte/$besten->Dauer;
$data = array(
''GePunkte'' => $GePunkte,
''Name'' => $besten->Name,
''Zeitpunkt'' => $besten->Zeitpunkt,
''Punkte'' => $besten->Punkte,
''Dauer'' => $besten->Dauer,
''GewäKat'' => $besten->GewäKat,
);
print_r($data);
$this->tableGateway->insert($data);
}
Ya utilicé "print_r ($ data)" para verificar si los datos en la matriz están completos porque sospeché que esta era la causa del error.
print_r muestra lo siguiente:
Array ( [GePunkte] => 0.125 [Name] => Test [Zeitpunkt] => 1451480345 [Punkte] => 1 [Dauer] => 8 [GewäKat] => Natur )
Al mismo tiempo, verifiqué si los valores de cada parámetro coinciden con los tipos de datos establecidos en el DB. GePunkte se establece como flotante, Nombre como texto, Zeitpunkt como int, Punkte como int, Dauer como int y GewäKat como texto, por lo que todos los valores están dentro de los límites establecidos.
También he comprobado si tengo todos los parámetros nombrados correctamente al marcar el comando insert sql en Phpmyadmin y es:
INSERT INTO `bestenliste`(`Sid`, `GePunkte`, `Name`, `Zeitpunkt`, `Punkte`, `Dauer`, `GewäKat`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6],[value-7])
Como Sid se crea automáticamente, esto parece estar bien también.
No puedo entender por qué no funciona como debería, ya que todo lo demás en la aplicación parece funcionar perfectamente bien, y como la fecha límite para esta aplicación es mañana a medianoche, tengo prisa por resolver este problema. .
Entonces, ¿alguien sabe una solución a este problema?