php - 在时间戳字段中按日期过滤结果

标签 php mysql database timestamp

我已经得到了一些帮助,但不确定为什么这不起作用。

我正在尝试使用一种表单让用户过滤他们的事件(存储在数据库中)

我的代码:

$_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/

相关文章:

mysql - 在多个表中搜索相同的值并获取结果来自的表

mysql - 连接表和循环

物理硬件的数据库设计

php - 4 0' OR ' 1'=' 1 这个容易被sql注入(inject)?

php - 从公共(public) Google 日历获取 JSON

php - WordPress 数据库中的附加表

python - Digi ConnectPort 数据库适配器

database - 在数据库查询结果集中的字段前面添加文本

PHP 生成的 csv 文件在 Excel 2007 中显示英镑符号 (£)

php - 使用PHP修改数据库时出错