mysqli bind_param no establece $ stmt-> error o $ stmt-> errno

De acuerdo con el manual de php, puede recuperar errores en cualquier método de declaración preparado interrogando $ stmt-> error y $ stmt-> errno. Sin embargo, el método bind_param nunca parece establecer estos errores, ¿puede alguien más confirmar esto? O dime lo que me falta por favor?

Por ejemplo:

echo "Start\n";
$db = new mysqli('localhost','test','xxxxxx','test');

$val = 1;

$st = $db->prepare('insert into tblTest set field1=?');
if($st == false)
{
    printf("prepare: %s %d\n",$db->error,$st->errno);
}

$rs = $st->bind_param('is', $val);
if($rs == false)
{
    printf("bind_param: %s %d\n",$st->error,$st->errno);
}

$rs = $st->execute();
if($rs == false)
{
    printf("execute: %s %d\n",$st->error,$st->errno);
}

$rs = $st->close();
if($rs == false)
{
    printf("close: %s %d\n",$st->error,$st->errno);
}
echo "Finish\n";

Ejecutar lo anterior desde la línea de comandos muestra:

Start
PHP Warning:  mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables in test.php on line 14
bind_param: 0
execute: No data supplied for parameters in prepared statement 2031
Finish

Así que php está viendo esto como una advertencia, bind_param está devolviendo false, pero error & errno no están configurados. ejecutar también está fallando y ha configurado correctamente error & errno

¿Es esto un error?

Respuestas a la pregunta(1)

Su respuesta a la pregunta