插入的值保持为0

时间:2018-06-18 01:10:59

标签: php mysql sql database

我不知道发生了什么,我选择了表中的价格,当我使用它时,它很好。在<form> $seller$_SESSION['username']也可以,buy_item.php当我尝试计算$newAmount = ($row["amount"] - $price);并尝试查看其值{ {1}}成为$price

page.php文件

sql

0$
表中的

(所有信息都显示正常)

 $sql = "SELECT seller,price FROM stuff ";

BUY_ITEM.PHP

while($row = $result->fetch_assoc()) {

echo "<tr>";
echo "<td>". $row["price"] . "</td>";
echo "<td>". $row["seller"] . "</td>";
echo " <td><form action='buy_item.php' method='post'>
            <input type='hidden' id='seller' name='seller' value='".$row['seller']."'/>
             <input type='hidden' id='price' name='price' value='".$row['price']."'/>
            <input type='hidden' id='buyer' name='buyer' value='". $_SESSION['username'] ."'/>
             <input type='submit' value='Buy'/>
        </form></td>";
    echo "</tr>";

<?php session_start(); $conn = mysqli_connect("hi", "hi", "hi", "hi"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $seller = mysqli_real_escape_string($link, $_REQUEST['seller']); $price = mysqli_real_escape_string($link, $_REQUEST['price']); $buyer = mysqli_real_escape_string($link, $_REQUEST['buyer']); $sql = "SELECT username,amount FROM users WHERE username = '" . $_SESSION['username'] . "'"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { if ($row["amount"] >= $price) { $newAmount = ($row["amount"] - $price); echo ("$newAmount"); } else { echo "Records added successfully."; } } } else { echo "0 results"; } $conn->close(); ?> 始终显示= $newAmount原因$amount始终变为= 0

1 个答案:

答案 0 :(得分:0)

我会采取一个平底船,并说价格中有隐藏的字符或类似内容。

PHP练习类型杂耍。内部PHP是一种类型化语言,可根据需要转换实际类型。

$ _ REQUEST以字符串形式提供$ price的值。

当你在减法中使用它时,PHP会将它从字符串转换为整数。在演员阵容中出现问题,它看起来不像是一个数字,所以PHP使其为零。然后你的结果就会出现。

使用var_dump()将其打印为@ mr-glass建议将使其清晰。