Php MySQL更新查询未更新记录

Php MySQL更新查询未更新记录,php,mysql,Php,Mysql,我有一个包含如下数据的表 | id | player | runs | |-----|---------|-------| | 1 | A | 3000 | | 2 | B | 1000 | | 3 | C | 5000 | 这是一个来自json格式的web服务的大型数据集的抽象,我必须使用PHP更新所有行的新数据,为了测试,我尝试更新所有播放器的运行情况并设置3000 foreach($json as $indx=>$val)

我有一个包含如下数据的表

| id  | player  | runs  |
|-----|---------|-------|
| 1   |    A    | 3000  |
| 2   |    B    | 1000  |
| 3   |    C    | 5000  |
这是一个来自json格式的web服务的大型数据集的抽象,我必须使用PHP更新所有行的新数据,为了测试,我尝试更新所有播放器的运行情况并设置3000

foreach($json as $indx=>$val) 
 {
     $upd_qry = "UPDATE info SET runs = 3000 WHERE player='$indx'";//Here on each iteration I'm getting current player and Updating its runs 
     $exec_qry = mysqli_query($con,$upd_qry);

     if ($exec_qry) {
        echo $indx.":".$val;
     }

 }

此查询不更新,请对此问题提供任何解决方案。您的查询必须是:

$upd_qry = "UPDATE info SET runs = 3000 WHERE id='$indx'";

查询应如下所示:

$upd_qry = "UPDATE info SET runs = 3000 WHERE player=$indx ";

“”和“”之间存在差异。单引号表示为字符串,您还必须回显查询,因此必须检查差异

哦,伙计!这个indx实际上是播放器名,
$json
包含什么?你能把它扔掉,放到问题里去吗?或者显示如何获得该变量?使用准备好的语句不是更好吗…?只需打印
$indx
变量值。。或者整个问题你到底改变了什么。。。?有
WHERE player=''.'$indx'.''.
WHERE player='$indx'.
是完全相同的。或者你改变了我看不到的其他东西(这也是为什么对每个答案都进行解释是件好事!)@Sagar什么“是”?据我所知,你什么都没变。像那样浓缩没有什么区别。你应该在回答中添加一些文字来解释你改变了什么以及为什么,因为我真的看不出有什么不同。@Qirel你可以查看我上面的评论??只需打印$indx变量值。。或者整个问题我觉得这里一切都很好
$upd_qry = "UPDATE info SET runs = 3000 WHERE player=$indx ";