我是新手,所以我的问题可能有点奇怪。我正在尝试为以下代码使用预准备语句:
<?php
require_once(__DIR__.'/config.php');
$value = $_POST["value"];
$ort = $_GET["ort"];
$stmt = $pdo->prepare('SELECT * FROM Suchmaschine WHERE firma = :firma AND ort = :ort');
$stmt->execute(array('firma' => $value, 'ort' => $value));
foreach ($stmt as $row) {
echo "<a href=".$row['link'].">".$row['firma']."</a><br>";
}
?>
我尝试了一些方法,但它不起作用。
答案 0 :(得分:1)
首先,您缺少这一行:错误的变量名称应为:
$stmt->execute(array(':firma' => $value, ':ort' => $ort));
然后你没有得到结果。
$results = $stmt->fetchAll();
foreach( $results as $row ) {
echo "<a href=".$row['link'].">".$row['firma']."</a><br>";
}
答案 1 :(得分:0)
问题在于以下几行:
$stmt->execute(array('firma' => $value, 'ort' => $value));
应更改为:
$stmt->execute(array(':firma' => $value, ':ort' => $value));
请注意添加冒号前面的字符串作为键传递给传递给execute语句的数组。