Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przygotowana instrukcja MYSQLI typy bind_param nie działa

$stmt->bind_param() nie sprawdza podanych zmiennych pod kątem określonego typu, a jedynie konwertuje je na określony typ. A twój ciąg 'aaaaaaa' jest konwertowany na wartość typu int:0. W ten sposób robi to php.

Instrukcja wstawiania bazy danych jest niewłaściwym miejscem do sprawdzania, czy zmienne zawierają przydatne/poprawne wartości. Zrób to wcześniej i spróbuj je wstawić tylko wtedy, gdy Twoje walidacje działają.

Aby przeprowadzić walidację int, możesz użyć funkcji php is_numeric() lub is_int().



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sprawdzanie, czy użytkownik mysql istnieje

  2. Jak zapętlić tablicę sesji w php

  3. Pokaż hosta MySQL za pomocą polecenia SQL

  4. INSERT IGNORE używając Laravel's Fluent

  5. MySQL używa nazw kolumn z innej tabeli