php - 从 MYSQL - PHP 获取日期范围内的记录

标签 php mysql

我下面有一个 MYSQL 表,我正在尝试检索特定日期之间的记录数。

我收到以下错误:

'Trying to get property 'num_rows' of non-object in /var/www/html/dev/timeTest.php on line 18'

MySQL表的日期列:

enter image description here

PHP:

 $date1 = '2018-07-01';
 $date2 = '2018-07-30';

 $sql = "SELECT * FROM scanUploads WHERE dateUpload BETWEEN {$date1} AND {$date2}";
 $result = $mysqli -> query($sql);
 $count = $result -> num_rows; // LINE 18
 echo 'records: '.$count;

最佳答案

您缺少引号,这会破坏语法。

而且大括号对我来说也很奇怪。

有两种方式来表达它,要么用' 分隔查询字符串,要么用":

$sql = 'SELECT * FROM scanUploads WHERE dateUpload BETWEEN "'.$date1.'" AND "'.$date2.'"';
$sql = "SELECT * FROM scanUploads WHERE dateUpload BETWEEN \"$date1\" AND \"$date2\"";

// whenever wondering about the validity of generated SQL:
// die($sql);

// and whenever wondering about the result-set returned:
// die(print_r($result, true));

转义双引号 \" 将始终按字面处理,但仅在 "" 双引号内。

关于php - 从 MYSQL - PHP 获取日期范围内的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51591318/

相关文章:

mysql - rails 在 find_by_sql 中使用 sql 变量

java - 未找到表

php - 如何获取数组中同一键的最大值

mysql - 无法从 pyspark 连接到 Mysql 数据库,出现 jdbc 错误

php - php 和 mysql 中的多个搜索值

php - 选择,其中 JSON 数组包含

php - Yii2 内部服务器错误 #8

php - 在 PHP 中读取 COM(串行调制解调器)

Php递归目录创建

PHP 通过 AJAX 调用注销