Mysql
 sql >> база данни >  >> RDS >> Mysql

SQLSTATE[HY093]:Невалиден номер на параметър

Според PDO::Prepare

Така че или включете режима на емулация

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

или променете на -

$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'])));

Освен това, тъй като използвате LIKE във вашата заявка ще искате да добавите заместващи знаци % към вашите ценности

$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. Как да настроите глобален event_scheduler=ON, дори ако MySQL се рестартира?

  2. Mysql - как да настроите автоматично увеличение да започне от нула

  3. Как да избегнете това PDO изключение:Не може да се изпълняват заявки, докато други небуферирани заявки са активни

  4. Неправилна стойност за дата и час. Номер на грешка в базата данни:1292

  5. MySQL, две таблици, показващи информация от двете таблици