注销PHP / MySql后如何更新表

Posted

技术标签:

【中文标题】注销PHP / MySql后如何更新表【英文标题】:How to update table after logout PHP/MySql 【发布时间】:2016-02-15 19:00:25 【问题描述】:

我是一名新手程序员,我已经用谷歌搜索了,但没有找到合适的。 用户退出系统后,我需要更新我的 mysql 表。 我已经更新到“Y”状态,当用户登录时,但是在我的 logout.php 文件中,更新语句在用户退出时没有设置“N”状态。 请你们中的一些人帮忙吗? 谢谢

这是我的代码:

    <?php
$db = new PDO 'mysql:host=localhost;dbname=name;charset=utf8', 'user', 'password'); 
    $sql =  $db->exec("UPDATE 'tb_user'
                       SET 'flag_logged'  = 'N' 
                       WHERE user_id =".$_SESSION['userid']);
        echo $sql .' were affected';
    session_destroy();
    header('location: index.php');

?>

【问题讨论】:

您不应将表名和列名括在单引号中。您可以使用反引号或什么都不使用。 echo "UPDATE tb_user SET flag_logged = 'N' WHERE user_id =".$_SESSION['userid'] 运行到 php myadmin 看看。 【参考方案1】:

我意识到您的代码中有一些拼写错误。您错过了 PDO 构造函数的左括号。

看看这段代码。

$user_id = $_SESSION['userid'];
$db = new PDO('mysql:host=localhost;dbname=name;', 'user', 'password');
$sql = "UPDATE `tb_user SET `flag_logged` = 'N' WHERE id = :id";

$statement = $db->prepare($sql);
$statement->execute(['id'=>$user_id]);

session_destroy();
header('Location: index.php'); 

【讨论】:

以上是关于注销PHP / MySql后如何更新表的主要内容,如果未能解决你的问题,请参考以下文章

用于更新 MYSQL 数据库的 PHP

如何使用php更新mysql表中的特定表行[重复]

PHP如何批量更新数据?急!!!

使用Jquery和PHP单击保存按钮时如何将多个表行更新为mysql表?

如何使用 PHP 在 MYSQL 中的数据库表中插入、更新、删除记录时创建日志

如何在php和mysql中使用数组和for循环更新表列?