SQL - SELECT WHERE column = TRUE AND:input =`string`

时间:2017-09-15 09:12:53

标签: php mysql sql pdo boolean

我在 PHP (使用 PDO )和 MySQL 制作一个简单的搜索引擎,其目标是在股票。
我的TABLE phone的{​​{1}}为COLUMN snowden(包含TINYINT0)。如果1phone.snowden 用户的输入为true,我希望能够获得结果。


此处是我的查询的简短版本:'snowden'是用户的输入。这是 PDO的准备好的查询

:search_0


当然真正的查询实际上更长(加入多个并搜索到许多)但除此之外一切都有效。
当我尝试搜索SELECT * FROM phone WHERE phone.snowden = 1 AND :search_0 = `snowden` 时,我没有得到任何结果(意味着未在任何列中找到关键字&#39 ; snowden' case notn work )。

  • 我是否想念语法
  • 如何以我尝试的方式实现此查询?
  • 如何通过与列名称进行比较来实现这一目标(如果这是一种更好的方法)?

编辑:完整代码

这是我使用的完整代码:

'snowden'

1 个答案:

答案 0 :(得分:1)

替换你的行

$query .= " OR ( phone.snowden = 1 AND ':search_" . $i . "' = `snowden` )";

$query .= " OR ( phone.snowden = 1 AND 'snowden'= :search_" . $i )";