仅获取并更新1行sql

时间:2014-02-05 20:02:44

标签: sql

当我输入数据时,表intBalance中的所有数据都在更新。我不知道什么是错的。

这是我的代码:

<?php
session_start();

include('config.php');
$accname=$_POST['accname'];
$accnum=$_POST['accnum'];
$pin=$_POST['pin'];
$grandtotal=$_POST['grandtotal'];


$resultq = mysql_query("SELECT * FROM tbl_bank_debit WHERE txtAccountNumber = '$accnum'");

            while($rows = mysql_fetch_array($resultq))
            {
            $balance=$rows['intBalance'];
            //$pqs=$rows['qtysold'];
            //$left=$pql-$qty;
            //$solds=$pqs+$qty;
            $balupdate=$balance-$grandtotal;
            mysql_query("UPDATE tbl_bank_debit SET intBalance='$balupdate'");
            }


/*$resulta = mysql_query("SELECT * FROM athan_products WHERE id = '$id'");

            while($row = mysql_fetch_array($resulta))
            {
            $pprice=$row['price'];
            $psize=$row['product_size_name'];
            }
$total=$pprice*$qty;
mysql_query("INSERT INTO orderdetails (customer, qty, price, total, partsname, size, transactioncode) VALUES('$memid', '$qty', '$pprice', '$total', '$name', '$psize', '$transcode')");
header("location: order.php");*/
?> 

表中的所有intBalance都在更新:(

1 个答案:

答案 0 :(得分:0)

您的查询说:更新表tbl_bank_debit并将每次出现'intBalance'设置为'$ balupdate'中的值。

显然,正如TI所说,你需要一个where条款来说明:不要覆盖所有,而只是覆盖这些。

样品:

UPDATE tbl_bank_debit SET intBalance='$balupdate' where account = 123

查看here以获取更多帮助