sql >> Databasteknik >  >> RDS >> Mysql

SQLSTATE[HY093]:Ogiltigt parameternummer

Enligt PDO::Prepare

Så aktivera emuleringsläget antingen

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

eller ändra till -

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

Dessutom eftersom du använder LIKE i din fråga vill du lägga till jokertecken % till dina värderingar

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



  1. SQL-fråga för att skapa tabell i MySQL

  2. Hur man får de räknade värdena med ett kommatecken som ett enstaka radvärde

  3. Det går inte att hämta data från databasen till skripttaggen när grafen används

  4. LOCALTIMESTAMP() Funktion i Oracle