Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置时区='+;05:30';PHP不工作_Php_Mysql_Timezone - Fatal编程技术网

设置时区='+;05:30';PHP不工作

设置时区='+;05:30';PHP不工作,php,mysql,timezone,Php,Mysql,Timezone,我有以下查询,它在本地主机上运行良好,并在数据库中设置当前时间 $query="INSERT INTO mytable (user_id, user_datetime) VALUES ". "(".$_SESSION["user_id"].", NOW());"; 但当我在美国服务器上托管我的网站时,它将我们当前的时间放在数据库中,这是不可取的。我想把印度现在的时间 为此,我将上述查询修改为 $query="SET time_zone = '+05:30';INSERT INTO

我有以下查询,它在本地主机上运行良好,并在数据库中设置当前时间

$query="INSERT INTO mytable (user_id, user_datetime) VALUES ".
       "(".$_SESSION["user_id"].", NOW());";
但当我在美国服务器上托管我的网站时,它将我们当前的时间放在数据库中,这是不可取的。我想把印度现在的时间

为此,我将上述查询修改为

$query="SET time_zone = '+05:30';INSERT INTO mytable (user_id, user_datetime) VALUES ".
       "(".$_SESSION["user_id"].", NOW());";
但这是行不通的。虽然如果我运行
设置时区='+05:30'
直接在mysql上运行,可以吗?我应该在哪里解决它?

来自

mysql\u query()
发送一个唯一的查询(不支持多个查询) 已支持)的服务器上的当前活动数据库 与指定的
链接\u标识符关联


因此,移动到或单独执行每个查询

您必须更改引号,如下所示:

 $query="INSERT INTO mytable (user_id, user_datetime) 
         VALUES ( '".$_SESSION['user_id']."', NOW())";
设置为更新而不是插入

如果需要,请同时插入时区

 $query="INSERT INTO mytable (user_id, user_datetime ,time_zone) 
         VALUES ( '".$_SESSION['user_id']."', NOW() ,'+05:30' )";
如果已经有值,则可以查找更新

 $query="UPDATE mytable SET time_zone = '+05:30' 
         WHERE user_id ='".$_SESSION['user_id']."'  ";
编辑:不能一次运行两个查询。必须同时运行这两个查询

$query1="SET time_zone = '+05:30' " ;
$query="INSERT INTO mytable (user_id, user_datetime) 
         VALUES ( '".$_SESSION['user_id']."', NOW())";

我不能使用mysql\u query($query)同时启动两个查询吗?我需要单独启动它们吗?这个查询对我来说已经很好了。为什么在会话['user\u id']周围使用单引号,然后使用双引号,因为它是整数而不是字符串。是否还要插入时区?不,我只想在查询中使用NOW之前设置时区,以便NOW选择印度当前时间而不是我们。我想要的是您的上次更新。在启动正在使用的主查询之前,我必须启动设置时区查询,以便现在可以选择更新的时区。很高兴它帮助了您:)。