PDO不会返回任何内容

时间:2014-05-12 13:51:34

标签: php sql pdo

我在运行PDO查询时遇到一些问题。 我试图从搜索表单中获取具有匹配条件的数据库条目的数量。查询什么都不返回。 $ query-> errorInfo()打印HY093错误。会话变量确实已设置,我已经检查过,并且数据库中确实存在与会话值匹配的条目。

$_SESSION["searchfield"] = $_POST["searchfield"];
$_SESSION["searchtype"] = $_POST["searchtype"];

//connection comes from an included file.
$query=$connection->prepare("SELECT COUNT(*) AS count FROM vendor WHERE :searchby = :searchcriteria");
$query->bindValue(":searchby", $_SESSION["searchtype"]);
$query->bindValue(":searchcriteria", $_SESSION["searchfield"]);
$query->execute();
$countid=$query->fetch(PDO::FETCH_ASSOC);

我的语法中找不到任何错误。它没有过滤效果很好:

$query=$connection->query("SELECT COUNT(*) AS count FROM vendor");
$countid=$query->fetch(PDO::FETCH_ASSOC);

非常感谢任何帮助。

修改

@GolezTrol,好像这可能是问题,谢谢。

1 个答案:

答案 0 :(得分:-2)

试试这个

$_SESSION["searchfield"] = $_POST["searchfield"];
$_SESSION["searchtype"] = $_POST["searchtype"];

//connection comes from an included file.
$query=$connection->prepare("SELECT COUNT(*) AS count FROM vendor WHERE ".$_SESSION["searchtype"]." = :searchcriteria");
$query->bindValue(":searchcriteria", $_SESSION["searchfield"]);
$query->execute();
$countid=$query->fetch(PDO::FETCH_ASSOC);

编辑:改变是大胆的,因为有人问的是改变在哪里      $ query = $ connection-> prepare(“SELECT COUNT(*)AS count FROM vendor WHERE”。$ _ SESSION [“searchtype”]。“=:searchcriteria”);

相关问题