有人可以解释为什么这不起作用吗?我认为这部分是错误的,但我不知道如何解决它。
$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));
?>
答案 0 :(得分:3)
您需要删除引号并将E:\OneDrive\Software\Projetos\php\public_html\Locale\en_UK\LC_MESSAGES\messages.mo
E:\OneDrive\Software\Projetos\php\public_html\Locale\pt_BR\LC_MESSAGES\messages.mo
放在%
语句中绑定的字符串周围:
execute()
答案 1 :(得分:1)
您是否在执行后实际声明了一个变量来保存数组信息?
$data = $stmt->fetchAll();
print_r($data);
答案 2 :(得分:-2)
我认为Bind参数问题为
$Stmt = $pdo->prepare("SELECT * FROM locatie WHERE gebouw LIKE '%?%'
AND ruimte LIKE '%?%'");
$stmt->bind_parm("ii",$gebouw_zoeken, $ruimte_zoeken);
$stmt->execute();
参考:http://php.net/manual/en/mysqli.quickstart.prepared-statements.php