Làm thế nào tôi có thể thay đổi MYSQL múi giờ để định dạng giờ như chức năng này trong PHP: /SET giờ giờ TIMEZONE/ date_default_timezone_set ('Etc/GMT');MYSQL thiết lập múi giờ trong mã PHP
lớp DB của tôi là ở đây:
class DB {
private static $instance;
private $MySQLi;
private function __construct(array $dbOptions){
$this->MySQLi = @ new mysqli( $dbOptions['db_host'],
$dbOptions['db_user'],
$dbOptions['db_pass'],
$dbOptions['db_name']);
if (mysqli_connect_errno()) {
throw new Exception('Database error.');
}
$this->MySQLi->set_charset("utf8");
}
public static function init(array $dbOptions){
if(self::$instance instanceof self){
return false;
}
self::$instance = new self($dbOptions);
}
public static function getMySQLiObject(){
return self::$instance->MySQLi;
}
public static function query($q){
return self::$instance->MySQLi->query($q);
}
public static function prepare($q){
return self::$instance->MySQLi->prepare($q);
}
public static function esc($str){
return self::$instance->MySQLi->real_escape_string(htmlspecialchars($str));
}
}
Và thắc mắc của tôi như thế này trong các tập tin khác:
DB::query('UPDATE `calendar_data` SET `data` = "'.DB::esc(json_encode($array)).'", `upcoming_time` = "'.date('Y-m-d H:i:s', $upcoming).'", `time_now` = NOW() WHERE `id` = "1"');
tôi nên chèn truy vấn của tôi ở đâu đến lớp cho chạy nó một lần?
Cảm ơn!
$this->MySQLi->set_charset("utf8");
$this->MySQLi->query("SET timezone = 'GMT'");
- Không làm việc. Nếu tôi sử dụng NOW(), thời gian máy chủ đã được chèn (GMT-4). Vấn đề ở đâu ???
Tôi rất muốn giới thiệu _against_ đàn áp lỗi của bạn bằng cách sử dụng '@ 'nhân vật. – crmpicco