我目前正试图在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