Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SQLSTATE [HY093]:Số tham số không hợp lệ

Theo PDO::Prepare

Vì vậy, hãy bật chế độ mô phỏng

$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE);

hoặc thay đổi thành -

$sql = "SELECT * FROM `character` WHERE `name` LIKE :search1  OR `play` LIKE :search2";
$query = $db->prepare($sql); 
$query->execute(array(':search1' => strip_tags($_POST['search']),':search2' => strip_tags($_POST['search'])));

Ngoài ra, vì bạn đang sử dụng LIKE trong truy vấn của mình, bạn sẽ muốn thêm các ký tự đại diện % với giá trị của bạn

$query->execute(array(':search1' => "%".strip_tags($_POST['search'])."%",':search2' => "%".strip_tags($_POST['search'])."%"));



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL JOIN với LIMIT 1 trên bảng đã tham gia

  2. 2 đếm (*) + nhóm theo + có + tham gia

  3. chèn liên hệ vào cơ sở dữ liệu nhưng không muốn sao chép liên hệ đã có

  4. Cập nhật bảng với SUM từ một bảng khác

  5. Hiệu suất MySQL:Chỉ mục MySQL / MariaDB