【问题标题】:Updating all rows + WHERE更新所有行 + WHERE
【发布时间】:2014-12-09 15:09:15
【问题描述】:

我想更新所有银行中拥有“300000”黄金的用户并将其设置为“15000” 我尝试运行此脚本:

<?php
      $db_handle = mysqli_connect("127.0.0.1", "root", "pass", "db") or die("|-1");
      if($db_handle) 
      $value = '15000';
      mysqli_query($db_handle, "UPDATE playerdata SET Bank='$value' WHERE Bank = '300000'");


?>

我在网上找不到很多关于使用 WHERE 语句更新所有行的信息。

感谢您的帮助。

【问题讨论】:

  • 那么这对你来说怎么不起作用?更新将更改银行字段为 300000 的所有记录。
  • 查询看起来很好 - 到底是什么问题?
  • 也许列的类型不是字符串?是数字类型吗?

标签: php mysql mysqli


【解决方案1】:

你有语法错误:

  if($db_handle) 
  $value = '15000';

你的 if() 上没有 {},所以这段代码被执行为:

$db_handle = ...
if ($db_handle) {
   $value = '15000';
}
mysqli_query(...);

由于您没有正确检查连接故障,或者在发生故障时执行任何操作,因此您盲目地对可能不存在的连接运行查询。代码应该是

 $db_handle = mysqli_connect(...);
 if (!$db_handle) {
    die(mysqli_connect_error());
 }
 mysqli_query($db_handle, "query goes here") or die(mysqli_error($db_handle));

永远不要永远假设您的查询成功。成功的方式只有 一种,失败的方式也几乎无限。始终假设失败,检查失败,并将成功视为惊喜。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多