我下面有一个 MYSQL 表,我正在尝试检索特定日期之间的记录数。
我收到以下错误:
'Trying to get property 'num_rows' of non-object in /var/www/html/dev/timeTest.php on line 18'
MySQL表的日期列:
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/