我试图获得OOP和PDO的保留。做了一些教程。在本教程中我得到的查询方法(所以那不是我的...)插入日期作为变量时,PDO查询不返回数据
,但具有与PDO查询
我想从数据库中选择匹配的日期订单的烦恼IM .....德日期来自一个datepicker并返回2012年12月16日,例如为此
$dateInputQuery = date("Y-m-d", strtotime(Input::get('datepick')));
$data = $order->getAllOrders('order', 'WHERE DATE(orderdate) = DATE({$dateInputQuery})', false, false);
奇怪的是,当我替换WHERE子句WHERE DATE(订购日期)= \“2013年12月16日\”它返回的所有数据,但插入我的日期时,像上面它不......。他DB类的方法是这样的
public function getAll($table, $where = NULL, $orderSort = NULL, $limit = NULL) {
$this->query("SELECT * FROM {$table} {$where} {$orderSort} {$limit}")->error();
return $this;
}
和查询在DB类
public function query($sql, $params = array()) {
//reset error
$this->_error = false;
if ($this->_query = $this->_pdo->prepare($sql)) {
$x = 1;
if (count($params)) {
foreach ($params as $param) {
$this->_query->bindValue($x,$param);
$x++;
}
}
if ($this->_query->execute()) {
$this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
$this->_count = $this->_query->rowCount();
} else {
$this->_error = true;
}
}
return $this;
}
为什么是这种方法吗?
仔细检查$ dateInputQuery实际上是在for你期望的垫子。 – Robbert