设置时区='+;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选择印度当前时间而不是我们。我想要的是您的上次更新。在启动正在使用的主查询之前,我必须启动设置时区查询,以便现在可以选择更新的时区。很高兴它帮助了您:)。