更新所有行+ WHERE

时间:2014-12-09 15:09:16

标签: php mysql mysqli

我想更新所有在其银行中拥有“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语句更新所有行的互联网。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

你有语法故障:

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

if()上没有{},所以此代码正在执行:

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

由于您未正确检查连接失败,或者在发生DID失败时执行任何操作,因此您无法在可能不存在的连接上盲目运行查询。代码应该是

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

从不 EVER 假设您的查询成功。它有完全 ONE 的成功方式,以及几乎无限的失败方式。总是假设失败,检查失败,并将成功视为一个惊喜。