首先,我不是开发人员,所以请耐心等待 :)
我正在尝试从我们正在设置的小型库存系统中删除一行,但它仍然不允许我做任何事情,这是我当前的代码:
分配的页面:
<?php
$password = 'notTheRealPassword';
$conn = mysql_connect('localhost', 'root', $password);
if(!$conn)
{
die('Error connecting database');
}
mysql_select_db('inventory_system', $conn);
$query= "SELECT * from assigned";
$result=mysql_query($query);
echo "<table border='0' cellpadding='100' class='table-striped'>";
echo "<th>Asset ID</th><th>Asset</th><th>Type</th><th>Manufacturer</th><th>Model</th><th>PC
Name</th><th>Serial Number</th><th>Purchased</th><th>Warranty
End</th><th>OS</th><th>OS
Bit</th><th>CPU</th><th>Memory</th><th>HDD</th><$
while($row = mysql_fetch_array($result))
{
echo '<td>' . $row['asset_id'] . '</td>';
echo '<td>' . $row['asset'] . '</td>';
echo '<td>' . $row['type'] . '</td>';
echo '<td>' . $row['manufacturer'] . '</td>';
echo '<td>' . $row['model'] . '</td>';
echo '<td>' . $row['pc_name'] . '</td>';
echo '<td>' . $row['serial_no'] . '</td>';
echo '<td>' . $row['purchased'] . '</td>';
echo '<td>' . $row['warranty_end'] . '</td>';
echo '<td>' . $row['os'] . '</td>';
echo '<td>' . $row['os_bit'] . '</td>';
echo '<td>' . $row['cpu'] . '</td>';
echo '<td>' . $row['memory'] . '</td>';
echo '<td>' . $row['hdd'] . '</td>';
echo '<td>' . $row['plant'] . '</td>';
echo '<td>' . $row['location'] . '</td>';
echo '<td>' . $row['username'] . '</td>';
echo "<td><a href=\"delete.php?id=".$row['asset_id']."\">Delete</a></td>";
echo "</tr>";
}
echo "</table>";
mysql_close();
?>
删除页面:
<?php
$password = 'notTheRealPassword';
$conn = mysql_connect('localhost', 'root', $password);
if(!$conn)
{
die('Error connecting database');
}
mysql_select_db('inventory_system', $conn);
$id = (int)$_GET['asset_id'];
mysqli_query($conn,"DELETE FROM assigned WHERE asset_id='".$id."'");
mysqli_close($conn);
header("Location: assigned1.php");
?>
我猜这会很简单。
干杯,
最佳答案
这里有一些错误:
- 您在链接中输入的 GET 变量是
id
,而不是asset_id
- 您不应该使用 GET 来修改数据库中的内容;如果您的浏览器或插件决定预取链接,您的数据库将被清除。
- 您不能混合使用 mysql api,使用 mysqli 或 mysql(尽管不是后者...)。
mysql_*
函数已弃用,您应该将 PDO 或 mysqli 与准备好的语句结合使用。- 当您回显大量 html 时,关闭 php 部分然后在需要时再次打开它会更容易;现在你在回显文本中有了 php 标签。 php/strings/html 没有正确分隔。
关于php - 从mysql数据库php中删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41506714/