1

我知道我在这里想念的东西一定很愚蠢。我有一张桌子,所有的计算都很好。我被困在这里:

在 while 循环之后,我可以回显 ttl_sold 和除“余额”之外的所有其他信息。

在 while 循环中,这些都很好,我得到了结果:

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql); ?>

<?php
$sum = $sum + $rows['total'];
$ttlsold = $ttlsold + $rows['quantity'];
?>


<?php

$sum = 0;
$ttlsold = 0;

while($rows=mysql_fetch_array($result)){

ttl_sold 是 12,当我回显“余额”时,我得到 -12。我确实尝试将其包含在循环内部和外部,但仍然没有运气!

<?php
$balance = "SELECT stock FROM tbl_name WHERE id = 1";
$balance = $balance - $ttl_sold;
?>

<table width="1000" border="1" cellspacing="0" cellpadding="3">
<tr>
<td width="100"><?php echo $balance; ?></td>

任何想法?谢谢!

4

2 回答 2

2

尝试这个,

$query = "SELECT stock FROM tbl_name WHERE id = 1";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result))
{
    $balance = $row['stock'];
    $balance = $balance - $ttl_sold;
}

下面的文章讨论SQL Injection但它介绍了如何使用新的 PHP 扩展,例如PDOMySQLi.

于 2013-02-17T11:08:04.643 回答
1

你正在做这样的事情:

$balance = "SELECT stock FROM tbl_name WHERE id = 1" - 12;
// PHP makes:
$balance = (int) "SELECT stock FROM tbl_name WHERE id = 1" - 12;
// And moreover:
$balance = 0 - 12;
$balance = -12;

您必须先执行此查询,对于 MySQL,您可以使用PDOMySQLi

于 2013-02-17T11:13:02.607 回答