sql >> Database >  >> RDS >> Mysql

SQLSTATE[HY093]:Ongeldig parameternummer

Volgens PDO::Prepare

Dus zet de emulatiemodus aan

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

of verander naar -

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

En aangezien u LIKE . gebruikt in uw zoekopdracht wilt u jokertekens % . toevoegen naar uw waarden

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



  1. MySQL Cross Table-beperking

  2. Partities snoeien op basis van controlebeperking werkt niet zoals verwacht

  3. Een doorlopend totaal voor een voortschrijdende periode maken

  4. hoe n rijen te selecteren