我有以下查询,在我的localhost上可以正常使用,并在数据库中设置当前时间。
$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';
,但它有效吗?我应该在哪里解决它?
答案 0 :(得分:2)
你必须改变这样的引号:
$query="INSERT INTO mytable (user_id, user_datetime)
VALUES ( '".$_SESSION['user_id']."', NOW())";
SET用于更新不插入。
如果你想插入time_zone
$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())";
答案 1 :(得分:0)
mysql_query()
发送一个唯一的查询(多个查询不是 支持)到服务器上当前活动的数据库 与指定的link_identifier
相关联。
所以转到mysqli或单独执行每个查询