php - mysql_query 更新

标签 php mysql session

我有一个脚本,当用户在某些条件下点击“拒绝”按钮时会运行该脚本。 当它运行时,它应该撤销对特定区域的访问权限,由于某种原因,脚本不起作用——因为它不会更新 MYSQL DB,也不会出现错误。

$username =  $_SESSION["USER"]["Username"]; 

mysql_connect("x", "y", "z") or die(mysql_error()); 
mysql_select_db("database") or die(mysql_error()); 
mysql_query("UPDATE `users` SET `SeceretArea`='Unauth' WHERE `Username`='$username'") or die(mysql_error());

最佳答案

已更新答案以总结调试过程。

如果没有错误,那么数据库条目没有发生的原因有三种可能:

  • 您的表中没有 USERNAME 列等于 $database 的条目。
  • 没有值被传递给 $database
  • 有一个值被传递给 $database,但该值没有被替换到查询中。

根据我的个人经验,mysql_query() 不一定会在执行查询之前替换变量值。首先将查询字符串创建到变量中,然后将其传递给 mysql_query()。您当前的设置不会将 $username 替换为其值。你可以这样做:

...
$sql = "UPDATE `users` SET `SeceretArea`='Unauth' WHERE `Username`='$username'";
mysql_query($sql) or die(mysql_error());

除此之外,检查您的表以确保在 USERNAME 中有一行具有您想要的值。 var_dump() 你的 $username 看看它是否是你想要的值。

另外,你真的应该考虑切换到 mysqliPDO。如果不想迁移到对象模块,可以使用mysqli的过程函数。

关于php - mysql_query 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11615303/

相关文章:

php - 将 var_dump 从文本文件保存到多服务器 IP 的文本文件中

php - 从父抽象类调用抽象方法

php - 如何安全地使用 UniqueEntity(在同时有多个用户的网站上)

MySql 计算

javascript - express-session 不保存任何值

Vapor 4 中的 session 到期

php - 如何使用 PHPSpec 和 Laravel 插入示例数据

mysql - 在 Insert 查询中对相同的表名使用 select 查询

mysql - hadoop/配置单元 :File is getting transforming into a directory

java - 使 JSONObject 可序列化