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

SQLSTATE[HY093]:Nieprawidłowy numer parametru

Według PDO::Prepare

Więc albo włącz tryb emulacji

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

lub zmień na -

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

Ponadto, ponieważ używasz LIKE w zapytaniu będziesz chciał dodać symbole wieloznaczne % do swoich wartości

$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. Ocena MySQL z wagą

  2. Optymalizacja zapytań SQL - czas wykonania

  3. Co jest nie tak z tym zapytaniem mysql?

  4. uzyskaj odpowiedź o powodzeniu/porażce od mysqli_query

  5. Łączenie się z MySql przy użyciu Javy - połączenie SSL