sql >> Database teknologi >  >> RDS >> Mysql

MYSQLI forberedt sætning bind_param typer virker ikke

$stmt->bind_param() tjekker ikke de givne variabler for en bestemt type, den konverterer dem kun til den angivne type. Og din streng 'aaaaaaa' konverteres til en int-værdi:0. Det er den måde, php gør det på.

Databaseindsæt-sætningen er det forkerte sted at kontrollere, om dine variabler indeholder nyttige/korrekte værdier. Gør det før, og prøv kun at indsætte dem, hvis dine valideringer virker.

For at udføre valideringen for en int, kan du bruge php-funktionen is_numeric() eller is_int().



  1. RPAD() Funktion i PostgreSQL

  2. Sådan fungerer MySQL-ufølsomme for store og små bogstaver og accentufølsomme i UTF-8

  3. Opret forbindelse til MySQL over SSH ved hjælp af Java

  4. Kan ikke oprette forbindelse til Postgresql på port 5432