sql >> Database teknologi >  >> RDS >> Mysql

SQLSTATE[HY093]:Ugyldigt parameternummer

Ifølge PDO::Prepare

Så enten slå emuleringstilstand til

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

eller skift til -

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

Også da du bruger LIKE i din forespørgsel vil du tilføje jokertegn % til dine værdier

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



  1. SQL vælg alle, hvis parameteren er null, ellers returnerer den specifikke vare

  2. MySql SUM() funktion

  3. Udtræk data fra json inde i mysql-feltet

  4. MySQL:Enkelte eller flere forbindelser?