【发布时间】:2014-06-29 06:18:50
【问题描述】:
我在使搜索查询正常工作时遇到了一些问题。我得到这个错误。
SQLSTATE[HY093]: 参数号无效
这是我的代码。
<?php
try{
$sql = "SELECT * FROM `character` WHERE `name` LIKE :search OR `play` LIKE :search";
$query = $db->prepare($sql);
$query->execute(array(':search' => strip_tags($_POST['search'])));
$result = $query->fetchAll(PDO::FETCH_ASSOC);
foreach($result as $row){
$name = $row['name'];
$gender = $row['gender'];
$id = $row['id'];
echo "<tr>
<td>". $name ."</td>
<td>". $gender ."</td>
<td><a href='characterbio.php?id=". $id ."'>". $name ."'s Bio Page</a></td>
</tr>";
}
}catch(PDOException $e){
die($e->getMessage());
}
?>
请帮帮我。谢谢!
【问题讨论】:
-
可能想在
LIKE条件周围添加一些通配符,例如field LIKE CONCAT('%', :param, '%')。此外,strip_tags()在您使用的上下文中几乎没有意义。