繁体   English   中英

mysql更新查询不起作用

[英]mysql update query doesn't work

我有这个php文件,用于存储注销时间。 使用插入查询,我先存储登录时间。 然后,我使用此注销脚本存储注销时间。 我遇到的错误是我在代码中提到的错误,该错误failed to insert logout time $lgotime$lrec正确回显。 下面是我的代码:

<?php

session_start();

$lgotime = date("Y-m-d H:i:s");

$lrec = $_SESSION['lreclast'];

echo $lgotime;

echo "</br>";

echo $lrec;

mysql_query("UPDATE tbl_login_record SET logoff_time='$lgotime' WHERE id = '$lrec'") or die("failed to insert logout time");

session_destroy();
header("Location:../login.php");
?>

$lrec变量来自具有插入查询的脚本的mysql_insert_id() 帮助将不胜感激。

如果您的mysql查询工作正常,则可以这样更改代码:

mysql_query("UPDATE tbl_login_record SET logoff_time='".$lgotime."' WHERE id = '".$lrec."'") or die("failed to insert logout time");

它总是对我有用!

问题是您的查询没有发送数据,而是发送字符串

mysql_query("UPDATE tbl_login_record SET logoff_time='$lgotime' WHERE id = '$lrec'") or die("failed to insert logout time");

应该,

mysql_query("UPDATE tbl_login_record SET logoff_time='{$lgotime}' WHERE id = {$lrec}") or die("failed to insert logout time");

老实说,我也不建议这样做,而是使用参数化查询。

请试一试。 您不在此页面顶部使用session_start()并将查询更改为

<?php 
 session_start();
 $lgotime = date("Y-m-d H:i:s");

$lrec = $_SESSION['lreclast'];

echo $lgotime;

echo "</br>";

echo $lrec;

mysql_query("UPDATE tbl_login_record SET logoff_time='".$lgotime."' WHERE id = '".$lrec."'") or die("failed to insert logout time");

session_destroy();
header("Location:../login.php");

将查询更改为以下格式,然后尝试,

mysql_query("UPDATE tbl_login_record SET logoff_time='".$lgotime."' WHERE id = '".$lrec."'") or die("failed to insert logout time");

只需从查询中的ID中删除单引号 ,因为它是整数而不是String

mysql_query("UPDATE tbl_login_record SET logoff_time='$lgotime' WHERE id = $lrec") or die("failed to insert logout time");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM