Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Os tipos bind_param da instrução preparada MYSQLI não funcionam


$stmt->bind_param() não verifica as variáveis ​​fornecidas para um determinado tipo, apenas as converte no tipo especificado. E sua string 'aaaaaaaa' é convertida em um valor int:0. É assim que o php faz.

A instrução de inserção do banco de dados é o lugar errado para verificar se suas variáveis ​​contêm valores úteis/corretos. Faça isso antes e só tente inseri-los, se suas validações funcionarem.

Para fazer a validação para um int, você pode usar a função php is_numeric() ou is_int().