我已经得到了一些帮助,但不确定为什么这不起作用。
我正在尝试使用一种表单让用户过滤他们的事件(存储在数据库中)
我的代码:
$_GET['from'] = '01/11/2013';
$_GET['to'] = '25/11/2013';
$from = DateTime::createFromFormat('d/m/Y', $_GET['from']);
$to = DateTime::createFromFormat('d/m/Y', $_GET['to']);
$sql = "
SELECT * FROM transfer
WHERE personID = $user AND DATE(time) BETWEEN '%s' AND '%s'
";
$sql = sprintf($sql, $from->format('Y-m-d'), $to->format('Y-m-d'));
print_r($sql);
这打印
SELECT * FROM transfer WHERE personID = 84587749 AND DATE(time) BETWEEN '2013-11-01' AND '2013-11-14'
当我在 PHPmyadmin 中查询时,它显示了记录,但没有显示在我的页面中?
最佳答案
SQL 看起来不错,但您似乎没有在数据库中发出已执行的 SQL 查询并检索结果??也许我遗漏了一些东西,但你需要连接到你的数据库:
class DBi {
public static $mysqli;
}
DBi::$mysqli = new mysqli('servername', 'database', 'password', 'user');
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
然后你需要执行查询:
$result = DBi::$mysqli->query($sql) or die ("Unable to execute SQL command:".$sql);
最后,检索并使用结果:
$row = $result->fetch_assoc();
echo $row["fieldname"];
关于php - 在时间戳字段中按日期过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19988027/