我有以下查询,它在本地主机上运行良好,并设置数据库中的当前时间。
$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());";
但这是行不通的。虽然如果我直接在mysql上运行SET time_zone = '+05:30';
,它能工作吗?我应该在哪里解决它?
您必须这样更改引号:
$query="INSERT INTO mytable (user_id, user_datetime)
VALUES ( '".$_SESSION['user_id']."', NOW())";
SET用于更新不插入。
如果您还想插入时区
$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())";
来自Php手册
mysql_query()
发送唯一查询(多个查询不是支持)到服务器上的当前活动数据库与指定的CCD_ 3相关联。
所以转移到mysqli或分别执行每个查询