Php 特定用户的SQL更新

Php 特定用户的SQL更新,php,mysql,database,Php,Mysql,Database,我正在使用一个用户帐户系统,我需要更新SQL数据库中的记录。我已经试着查找了,但是我找到的所有解决方案似乎都不起作用。我的桌子看起来像这样 userId userName userCoins 30 Bob 0 userId userName userCoins 30 jim 0 我想更新用户名,这样看起来像这样 userId userName userCoins 30 Bob 0 userI

我正在使用一个用户帐户系统,我需要更新SQL数据库中的记录。我已经试着查找了,但是我找到的所有解决方案似乎都不起作用。我的桌子看起来像这样

   userId userName userCoins
     30      Bob       0
userId userName userCoins
 30      jim       0
我想更新用户名,这样看起来像这样

   userId userName userCoins
     30      Bob       0
userId userName userCoins
 30      jim       0
-


欢迎您目前有服务币

您可以将查询编写为:

UPDATE users SET userName = 'jim' WHERE userId=30;

您需要使用函数并在其周围使用引号,就像您(类似地)对SELECT:

if ( isset($_POST['btn-signup']) ) {
        //This is where I am trying to update

       mysql_query("UPDATE users SET userName = 'jim' WHERE userCoins=0");
    }
您还使用了一个旧的API,并且对sql注入开放

使用事先准备好的陈述

参考资料:

如评论中所述:


为什么要根据userCoins=0进行更新?这将更新每个没有硬币的用户名。这真的是你想要做的吗查尔斯·布雷塔纳

因此,您可能需要添加一个附加条款

您还需要确保
$\u会话['user']
数组确实包含值。否则,您的查询将失败

检查错误:

  • (关于质询)
  • (关于php)

为什么要根据
userCoins=0
进行更新?这将更新每个没有硬币的用户名。这真的是你想要做的吗?当你运行这个时,到底发生了什么?我只是用它作为一个例子。我将使用当前登录的用户并更改该特定值。请。已在PHP7中删除。了解使用PDO的语句,并考虑使用PDO所使用的类似方法。对我来说,你发布的内容似乎是伪代码。你不能只做
if(isset($\u POST['btn-signup']){//这就是我试图更新用户集userName='jim',其中userCoins=0;}
他们已经有了;他们没有做他们应该做的,而你错过了。在这里,请自己查看
if(isset($\u POST['btn-signup']){//这是我试图更新更新用户集userName='jim',其中userCoins=0;}
当我使用它时,我得到一个错误:解析错误:语法错误,更新行上出现意外的“users”(T_字符串)更新用户集userName='jim',其中userId=32;确保在
mysql\u查询
函数中使用它作为
mysql\u查询(“更新用户设置用户名='jim',其中userId=32”)当我把这个放在数据库中仍然没有更新时,我在这里做了更具体的说明:mysql_query(“更新用户设置用户名='jim'其中userId=30”)@MorganClarke我用链接编辑了我的答案,告诉你怎么做;您的查询很可能失败了。我知道$res是有效的,因为我使用的是数据库中其他表中的数据page@MorganClarke我觉得你没有告诉我们整个故事以及你想怎么做。我之所以这样说,是因为这里有额外的输入
,我刚刚注意到,当我刷新页面时,PHP代码会自动运行。即使我还没有按下按钮。if(isset($_POST['send']){if(!empty($_POST['sender']){$name=$_POST['sender'];}if(!empty($_POST['receiver']){$name=$_POST['receiver'];}$query=“更新用户集userCoins=userCoins+1,其中userName='Morgan'”;$res=mysql\query($res);if($error=“Success!”)否则{$error=“出了点问题!”;}