sql >> Databáze >  >> RDS >> Mysql

SQLSTATE[HY093]:Neplatné číslo parametru

Podle PDO::Prepare

Takže buď zapněte režim emulace

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

nebo změňte 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'])));

Také, protože používáte LIKE ve svém dotazu budete chtít přidat zástupné znaky % ke svým hodnotám

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



  1. Jak zakázat omezení CHECK v SQL Server (příklady T-SQL)

  2. Jak se dotazovat na oprávnění v adresáři Oracle?

  3. Problém s ukládáním hodnot zeměpisné šířky a délky do databáze MySQL

  4. Kdy je lepší ukládat příznaky jako bitovou masku, než používat asociativní tabulku?