Php/sqlite数据库未返回结果


Php/sqlite database not returning result

我目前正试图在php/sqlite中创建一个小程序(我对php和sqlite非常陌生),在那里我可以填充已经存储的产品数量,还可以添加新产品。

我已经做了一个数据库,里面有很多条目。

我设法创建了这个代码,但它没有返回任何内容,也没有给我任何错误。

有人能指出我做错了什么或可能的解决方案吗?!

这是我的密码。。。

<?php
$db=sqlite_open("warehouse.db");
if(isset( $_POST['warehouse']) && strcmp($_POST['warehouse'],"") !=0 ){
    $ItemID = sqlite_escape_string($_POST["warehouse"]);
    $ItemName=$_POST['warehouse'];
    $Quantity=$_POST['warehouse'];
$qr="UPDATE warehouse SET Quantity = $Quantity WHERE ItemName = (SELECT id FROM warehouse WHERE itemName='$ItemName')";
    sqlite_query($db,$qr);
echo "<h2>". "Show warehouse"."</h2>";
echo "<table border=1>'n";
echo "</br>'n";
$result=sqlite_query($db,"SELECT * from warehouse WHERE warehouse.ItemName = warehouse.id");
echo "<th>Item ID</th><th>Item Name</th><th>Item Quantity</th>'n";
while($row=sqlite_fetch_array($result,SQLITE_ASSOC))
{
    echo "<tr>'n";
    echo "<td>" . $row['warehouse.ItemId'] . "</td>'n";
    echo "<td>" . $row['warehouse.ItemName'] . "</td>'n";
    echo "<td>" . $row['warehouse.Quantity'] . "</td>'n";
    echo "</tr>'n";
}
echo "</table>'n";

}
sqlite_close($db);
?>

您显示的代码封装在:中

if(isset( $_POST['warehouse']) && strcmp($_POST['warehouse'],"") !=0 ){
    // all your code, including showing the current data
}

因此,它只会在你向它POST东西时生成输出,即向它提交表单。如果你只是在浏览器中访问该页面,那么你正在执行GET,所以唯一会发生的事情是你的数据库被打开并立即关闭,POST测试中没有执行任何内容,也没有为浏览器生成任何输出。

您可能想将关闭POST测试的"}"移到"显示仓库"标题的正上方,这样您在使用GET时至少可以看到数据表。

if(isset( $_POST['warehouse']) && strcmp($_POST['warehouse'],"") !=0 ){
    // code for updating data
}
echo "<h2>". "Show warehouse"."</h2>";
// rest of your display code