我在哪里使用查询失败

时间:2012-09-09 15:56:21

标签: mysql sql pdo

我有这段代码

$marker = 'werkz';
$sql = "SELECT name, marker FROM sidebar";
$q = $db->query($sql);
$q->setFetchMode(PDO::FETCH_ASSOC);
while ($r = $q->fetch()) {
    echo'<option>' . $r[name] . '</option>';
    }

它有效但我添加WHERE marker = $maker时;查询失败。

有什么问题?

2 个答案:

答案 0 :(得分:4)

因为您使用的是 PDO ,所以在传递参数时请执行此操作。

$marker = 'werkz';
$sql = "SELECT name, marker FROM sidebar WHERE marker = ?";
$q = $db->query($sql);
$q->bindParam(1, $maker);
$q->setFetchMode(PDO::FETCH_ASSOC);
while ($r = $q->fetch()) {
    echo'<option>' . $r[name] . '</option>';
}

答案 1 :(得分:0)

$ market是一个字符串。所以你应该把它放在'

之间

类似于......其中marker ='“。$ marker。”'“;