有人可以解释为什么这行不通吗?我认为这部分是错误的,但我不知道如何解决。
$stmt = $pdo->prepare("SELECT * FROM locatie WHERE gebouw LIKE '%?%'
AND ruimte LIKE '%?%'");
$stmt->execute(array($gebouw_zoeken, $ruimte_zoeken));
问题是它没有显示查询结果。也没有任何错误代码。
<table>
<form action="index.php" method="post">
Locatie zoeken:<br>
<input placeholder="Gebouwnaam" type="text" name="gebouw_zoeken"
>
<br>
<input placeholder="Ruimtenaam" type="text" name="ruimte_zoeken"
>
<br><br>
<input type="submit" name="submit_zoeken" value="Locatie
zoeken" ><br>
</form>
</table><br><br>
<?php
if (isset($_POST["submit_zoeken"])) {
$gebouw_zoeken = $_POST["gebouw_zoeken"];
$ruimte_zoeken = $_POST["ruimte_zoeken"];
$stmt = $pdo->prepare("SELECT * FROM locatie WHERE gebouw LIKE '%?%'
AND ruimte LIKE '%?%'");
$stmt->execute(array($gebouw_zoeken, $ruimte_zoeken));
?>
您需要删除引号,并%
在execute()
语句中将要绑定的字符串前后加上。
$stmt = $pdo->prepare("SELECT * FROM locatie WHERE gebouw LIKE ?
AND ruimte LIKE ?");
$stmt->execute(array('%' . $gebouw_zoeken . '%', '%' . $ruimte_zoeken . '%'));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句