【问题标题】:cannot delete row from db in php无法从 php 中的 db 中删除行
【发布时间】:2013-03-16 17:56:04
【问题描述】:

我有 2 页 sell.php 和 sell_form.php 。当用户从 sell_form.php 的下拉菜单中选择股票代码时,我在 sell.php 中有一个查询,应该从数据库中删除该股票代码,但我现在得到的只是一个空白页我点击出售按钮。我不确定我是否完全理解下拉菜单中的值是如何传递给 sell.php 表单的。这是我到目前为止的代码

这是我的 sell.php 文件

if ($_SERVER["REQUEST_METHOD"] == "POST") 
{



    // delete the stock from their portfolio 
query("DELETE FROM shares WHERE id = ? AND symbol = ?", $_SESSION["id"],$_POST["symbol"]);  

redirect("/");
}
else
{

$rows = query("SELECT * FROM shares WHERE id = ?", $_SESSION["id"]);

    //create array to store the shares
    $shares = [];

    //for each of the user info

    foreach($rows as $row){

        //lookup stock info
        $stock = lookup($row["symbol"]);
        if($stock !== false){

            $shares[] = [
                "name" => $stock["name"],
                "price" => $stock["price"],
                "shares" => $row["shares"],
                "symbol" => $row["symbol"],
                "total" => $row["shares"]*$stock["price"]
            ];

        }
    }

// render portfolio
render("sell_form.php", ["shares" => $shares, "title" => "Sell"] );
}

这是我的 sell_form.php

<form action="sell.php" method="post">
<fieldset>     
    <div class="control-group">

        <select name="symbol">
        <option value="blank"></option>

        <?php foreach ($shares as $symbol):?>
        <option value="symbol"><?= $symbol["symbol"]?></option>
         <? endforeach ?>
        </select>     

    </div>
    <div class="control-group">
        <button type="submit" class="btn">Sell all shares</button>
    </div>
</fieldset>
</form>

【问题讨论】:

  • 显示空白页时是否从表格中删除了投资组合?
  • 由于某种原因,符号未传递给查询。如果我删除符号,则根据用户 ID 删除整个投资组合。

标签: php html sql


【解决方案1】:

我们在 sell_form.php 中思考,

<option value="symbol"><?= $symbol["symbol"]?></option>

应该改成

<option value="<?= $symbol["symbol"]?>"><?= $symbol["symbol"]?></option>

sell.php 中的其他情况

delete 语句被解释为 -

DELETE FROM shares WHERE id = <<Spefied User Id>> AND symbol = 'symbol';

感谢

【讨论】:

    猜你喜欢
    • 2018-07-23
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    相关资源
    最近更新 更多