php - 从mysql数据库php中删除数据

标签 php mysql

首先,我不是开发人员,所以请耐心等待 :)

我正在尝试从我们正在设置的小型库存系统中删除一行,但它仍然不允许我做任何事情,这是我当前的代码:

分配的页面:

<?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/

相关文章:

PHP - 使用 multi_curl 进行并行处理是个好主意吗?

asp.net - 限制mysql查询的记录数

php - 嵌套排序(toHierarchy)将结果存储在MySQL中

php - 如何将结果从 MySQL 存储到 PHP 数组?

mysql - 对于这种情况使用什么 MongoDB 数据模型?带标签的用户列表。获取所有不同标签的列表

mysql - 插入具有主键重复项的语句

php - symfony 1.1 中的自定义 500 错误页面

php - mysql_query 返回值为 0

php - 如何将印地语文本保存为 JSON

php - MySQL:基于国家/地区的产品列表