PHP MySQLI查询WHERE当前数据=数据库中的日期

时间:2015-01-28 20:13:25

标签: php mysql database

我一直试图让PHP检索任何日期戳与列' date'中相同的结果。
然后循环并打印出所有检索到的数据。
实际检索工作正常,它只是我的条件!

代码:

$currentdate = date('Y/m/d'); 
$echo . $currentdate;
$query = "SELECT * FROM `pupils` WHERE `$currentdate` = date";//Grab the data
$result = mysqli_query($con, $query);

任何帮助非常感谢!

3 个答案:

答案 0 :(得分:1)

正确使用WHERE子句如下所示。

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

你的价值是日期。什么是约会?我假设日期是这里的列名。可行的东西就是这样。

$query = "SELECT * FROM `pupils` WHERE `date` = $currentdate";

答案 1 :(得分:0)

你在日期值周围使用魔术引号,你应该使用单引号。魔术引号导致MySQL代表日期值(以Y / m / d作为标识符传递(如列名)。请参阅下面的修订代码并注释。

$currentdate = date('Y/m/d'); 
$echo . $currentdate;
// Magic quotes (`) are used to denote identifier names in MySQL
$query = "SELECT * FROM `pupils` WHERE '$currentdate' = date";
$result = mysqli_query($con, $query);

您可以将整个过程卸载到查询本身,MySQL提供了一个CURRENT_TIMESTAMP函数,它将为您提供当前服务器时间,您可以进一步操作它以获得您想要的特异性。

答案 2 :(得分:0)

用单引号替换$ current date周围的反引号并在日期周围添加反引号,因为date是mysql中的保留字。

$query = "SELECT * FROM `pupils` WHERE '$currentdate' = `date`";//