参数PHP中的错误>>;PDOStatement::execute():SQLSTATE[HY093]:无效的参


ERROR IN PARAMETER PHP >> PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

我有index.php文件,其中有这样的代码,当你在html代码中按下按钮时,它会让你在MySQL数据库中插入数据。

$app->post('/nuevo', function() use($app, $db){
$request = $app->request;
$nombre = $request->post('Nombre');
$apellidos = $request->post('Apellidos');
$nifcode = $request->post('NIF');
$direccion = $request->post('Direccion');
$email = $request->post('Email');
$telefono = $request->post('Telefono');
$estado = $request->post('Estado');
$dbquery = $db->prepare("INSERT INTO ClientesSinHechos(Nombre, Apellidos, NIF, Direccion, Email, Telefono, Estado) 
    VALUES(:Nombre, :Apellidos, :NIF, :Direccion, :Email, :Telefono, :Estado)");
$res = $dbquery -> execute(array(':nombre' => $nombre, ':Apellidos' => $apellidos
    , ':NIF' => $nifcode, ':Direccion' => $direccion, ':Email' => $email
    , ':Telefono' => $telefono, ':Estado' => $estado));
$app->redirect('ClientesSinHechos');
});

这在index.php中,在我的register html页面中,我有以下部分:

    <div class="container">
    <form action="" method="POST" role="form">
    <br />
        <h3><b>Datos de cliente : </b></h3>
        <p><br />
        <table width="42%">
        <tr>
            <div>
                <label for="Nombre">Nombre : </label>
                <input width="50" type="text" class="form-control" id="Nombre" name="Nombre" placeholder="Introduce nombre">
            </div>
        </tr>
        <p><br />
        <tr>
            <div>
                <label for="Apellidos">Apellidos : </label>
                <input width="50" type="text" class="form-control" id="Apellidos" name="Apellidos" placeholder="Introduce apellidos">
            </div>
        </tr>
        <p><br />
        <tr>
            <div>
                <label for="NIF">NIF : </label>
                <input width="50" type="text" class="form-control" id="NIF" name="NIF" placeholder="Introduce NIF">
            </div>
        </tr>
        <!--<p><br />
        <tr>
            <div>
                <label for="Fecha_Nacimiento">Fecha de nacimiento : </label>
                <form name="fcalen">
                    <INPUT name="fecha1" size="10">
                    <input type=button value="Seleccionar fecha" onclick="muestraCalendario('','fcalen','fecha1')">
                </form>
            </div>
        </tr>-->
        <p><br />
        <tr>
            <div>
                <label for="Direccion">Dirección : </label>
                <input width="50" type="text" class="form-control" id="direccion" name="direccion" placeholder="Introduce dirección">
            </div>
        </tr>
        <p><br />
        <tr>
            <div>
                <label for="Email">Dirección de correo electrónico : </label>
                <input width="50" type="text" class="form-control" id="email" name="email" placeholder="Introduce correo electrónico">
            </div>
        </tr>
        <p><br />
        <tr>
            <div>
                <label for="Telefono">Teléfono : </label>
                <input width="50" type="text" class="form-control" id="telefono" name="telefono" placeholder="Introduce teléfono">
            </div>
        </tr>
        <p><br />
        <tr>
            <div>
                <label for="Estado">Estado : </label>
                <input width="50" type="text" class="form-control" id="estado" name="estado" placeholder="Introduce un estado">
            </div>
        </tr>
        <p><br />
        <button type="submit" class="btn btn-primary">Registrar</button>
        </table>
    </form>
</div>

控制台扔给我这个:

Details
Type: ErrorException
Code: 2
Message: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
File: /var/www/slimtest/index.php
Line: 44

那条线是这条:, ':Telefono' => $telefono, ':Estado' => $estado));

救命,谢谢。

更改:

$telefono = $request->post('Telefono');
$estado = $request->post('Estado');

收件人:

$telefono = $request->post('telefono');
$estado = $request->post('estado');

(小写),或者在HTML表单中将idname更改为以大写开头