mysql更新查询不起作用

时间:2014-03-17 10:01:42

标签: php mysql sql

我有这个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()。帮助将非常感激。

5 个答案:

答案 0 :(得分:3)

如果您的mysql查询不起作用,您可以像这样更改您的代码:

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

它总是对我有用!

答案 1 :(得分:1)

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

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");

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

答案 2 :(得分:1)

请试一试。   您没有在此页面顶部使用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");

答案 3 :(得分:1)

将查询更改为以下格式并尝试

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

答案 4 :(得分:1)

从查询中的ID中删除单引号,因为它是整数而不是字符串

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