PHP tiene un pequeño "problema" (ojo, a mi parecer) y es que no es estricto cuando a tipos de variables se refiere, al menos no como otros lenguajes, te dejo un ejemplo:
El siguiente código indica el tipo de variable:
el resultado es el siguiente:
Código:
string
string
integer
double
boolean
Como puedes ver, 1 no es igual a '1' (estar entre comillas o apostrofes), el primero se define como entero o int, el segundo como string, ahora, el error es desde la función mysqli_prepare, para saber que es lo que esta pasando se debe depurar consulta...
Código PHP:
Ver original$sql = 'SELECT * FROM mitabla';
if ($query === false) {
}
Aunque también es posible que sea por problemas en la conexión de la base de datos...
Actualización: no vi tu segundo post, mysqli_stmt_bind_param dará error si el tipo de dato no es igual al tipo indicado (isdb), esto es por seguridad