Php 过滤PDO SQL查询

Php 过滤PDO SQL查询,php,mysql,select,filter,pdo,Php,Mysql,Select,Filter,Pdo,我在PHP页面中使用PDO方法内爆两个字符串(为了创建一个图形…说来话长!),但我不知道如何过滤它们。MySQL中的表结构如下: 列名: 项目(正在表决的项目名称); nvote(该项目已获得的票数); 日期(投票日期) 这就是我到目前为止所做的: $stmt1 = $db->prepare("SELECT date FROM vote"); $stmt1->execute(); $stmt2 = $db->prepare("SELECT nvote FROM vote")

我在PHP页面中使用PDO方法内爆两个字符串(为了创建一个图形…说来话长!),但我不知道如何过滤它们。MySQL中的表结构如下:

列名: 项目(正在表决的项目名称); nvote(该项目已获得的票数); 日期(投票日期)

这就是我到目前为止所做的:

$stmt1 = $db->prepare("SELECT date FROM vote"); 
$stmt1->execute();

$stmt2 = $db->prepare("SELECT nvote FROM vote"); 
$stmt2->execute();

$line1 = implode( ',', $stmt1->fetchAll (PDO::FETCH_COLUMN) ); 
$line2 = implode( ',', $stmt2->fetchAll (PDO::FETCH_COLUMN) );
(第1行创建图形的x轴,第2行创建y轴)

这可以很好地为我的图生成字符串

我如何过滤这些项目,使被投票项目的名称(在“项目”列中)由var过滤(在本例中,
$nameofitem
)?我似乎无法让它工作

$params = array(':value' => 'Hello World');
$stmt1 = $db->prepare("SELECT date FROM vote WHERE item = :value ORDER BY date"); 
$stmt1->execute($params);

$stmt2 = $db->prepare("SELECT nvote FROM vote WHERE item = :value ORDER BY date"); 
$stmt2->execute($params);

$line1 = implode( ',', $stmt1->fetchAll (PDO::FETCH_COLUMN) ); 
$line2 = implode( ',', $stmt2->fetchAll (PDO::FETCH_COLUMN) );
关键是在SQL查询中添加一个WHERE条件,其参数在传递数组时由execute绑定


请注意,我还为您添加了一个order语句,因为没有它,无法保证结果排序,这意味着您在图形上看到的点可能与错误的点关联。日期可能不是最佳选择,如果可以,请使用唯一键。或者,您可以在一个查询中获取所有内容并构建列表后期处理。

在sql查询中使用WHERE语句获取一个sql查询中的两个列并进行过滤,难道不可能吗?伙计……这真是一个了不起的编程!非常感谢。