sql >> Database >  >> RDS >> Mysql

MYSQLI voorbereide instructie bind_param types werkt niet

$stmt->bind_param() controleert de gegeven variabelen niet voor een bepaald type, het converteert ze alleen naar het gespecificeerde type. En je string 'aaaaaaa' wordt omgezet in een int-waarde:0. Zo doet php het.

De database insert-instructie is de verkeerde plaats om te controleren of uw variabelen bruikbare/juiste waarden bevatten. Doe dat eerder en probeer ze alleen in te voegen als uw validaties werken.

Om de validatie voor een int uit te voeren, zou je de php-functie is_numeric() of is_int() kunnen gebruiken.



  1. MySQL-opgeslagen procedures of php-code?

  2. WHERE_IN query met een samengestelde sleutel?

  3. SQL JOIN veel-op-veel

  4. PHP gebruiken om meerdere MYSQL-query's uit te voeren