PHP MySQL删除值等于的地方

时间:2013-09-30 00:56:06

标签: php mysql

我有一个PHP聊天脚本,当用户注销并从数据库中删除它时,它会调用MySQL数据库。

我的脚本是:

  if(isset($_GET['logout'])){
    mysql_query("DELETE FROM users WHERE username='" .$user['username']. "' AND rank='0'");
    header("Location: login_mini.php?logout=1");
  }

我想要做的是删除用户,如果他们离开时排名为0。为什么这个脚本不起作用?

4 个答案:

答案 0 :(得分:2)

DELETE不接受列参数

删除*

答案 1 :(得分:1)

MYSQL删除示例的语法:

DELETE FROM somelog WHERE user = 'jcole'
ORDER BY timestamp_column LIMIT 1;

所以你的查询错了,这就是它没有运行的原因:

应该是

//without * and add quotes in your $user['username']
    mysql_query("DELETE FROM users WHERE username=" .$user['username']. " AND rank='0'");

答案 2 :(得分:1)

mysql_query("DELETE FROM users WHERE username='$user[username]' AND rank=0");

DELETE操作中没有*或任何列,因为您要删除整行。

答案 3 :(得分:1)

您确定用户表的记录等级为== 0吗?

检查
SELECT COUNT(*)
FROM users
WHERE rank='0'

然后如果有变量$ user ['username']则检查它是否有值。

var_dump($user);

然后如果两者都有值,那么尝试在你的mysql上手动执行它

SELECT *
FROM users
WHERE username = #the value of the username
    AND rank = '0'

如果有结果,那么在执行mysql_query时你的PHP可能会抛出错误。尝试在mysql_query

之后插入此代码
if (mysql_error()) {
    die(mysql_error());
}