sql >> Base de Datos >  >> RDS >> Mysql

Los tipos bind_param de declaración preparada de MYSQLI no funcionan

$stmt->bind_param() no verifica las variables dadas para un cierto tipo, solo las convierte en el tipo especificado. Y su cadena 'aaaaaaa' se convierte en un valor int:0. Así es como lo hace php.

La declaración de inserción de la base de datos es el lugar equivocado para verificar si sus variables contienen valores útiles/correctos. Haz eso antes y solo intenta insertarlos, si tus validaciones funcionan.

Para hacer la validación de un int, puede usar la función php is_numeric() o is_int().