【发布时间】:2011-10-26 14:01:29
【问题描述】:
我正在尝试获取从另一个页面传递的变量并在 PDO 查询中使用它。变量是添加记录的日期,我正在尝试返回所有较新的记录。我是否在 PDO 中为此使用 $_POST?
<?php
require_once('globals.php');
$date_added = $_POST['date_added'];
$sth = $dbh->prepare("SELECT * FROM games WHERE date_added > $date_added");
$sth->execute();
/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
?>
【问题讨论】:
-
有效吗?如果不是:您看到的错误是什么?这里的一个问题是您直接在查询中获取用户数据 - 使用准备好的语句或 $dbh->quote()
-
这是错误:致命错误:在非对象上调用成员函数 prepare()。
-
@DonS 您从一开始就没有成功的数据库连接。你真的在某个地方打电话给
new PDO(),比如globals.php吗? -
@DonS 即使它不是公共表单,您也应该在准备好的语句中绑定
$date_added。 -
@johannes 非用户数据呢?可以按原样输入查询吗?