MySQL выбрать CURDATE (), где класс в новом часовом поясе - PullRequest
0 голосов
/ 30 августа 2018

Я обновил таблицу, как показано ниже:

<?php
   $date = new DateTime();
   $date->setTimezone(new DateTimeZone('Asia/Kolkata'));
   $fdate = $date->format('Y-m-d H:i:s');
   $sql="update mytable set logged_on='$fdate' where id='$Id'";
  ?>

Затем я попытался выбрать текущую дату, как показано ниже:

<?php
    date_default_timezone_set('Asia/Kolkata');
    $sql="select * from mytable where DATE(logged_on) = CURDATE()";
   ?>

Но КУРДАТА () не работает. подскажите пожалуйста, как выбрать текущую дату по классу.

1 Ответ

0 голосов
/ 05 сентября 2018

Это работает

<?php
   $date = new DateTime();
   $date->setTimezone(new DateTimeZone('Asia/Kolkata'));
   $fdate = $date->format('Y-m-d H:i:s');
   $sql="select * from mytable where DATE(logged_on) = Date($fdate)" 
?>

Но я думаю, что лучший ответ -

<?php
      $con=mysqli_connect("localhost","my_user","my_password","my_db");
      $con->query("SET GLOBAL time_zone = 'Asia/Calcutta'");
      $con->query("SET time_zone = '+05:30'");
      $con->query("SET @@session.time_zone = '+05:30'");
      $sql="select * from mytable where DATE(logged_on) = CURDATE()";
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...