从mysql数据库php中删除数据

时间:2017-01-06 13:24:12

标签: 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");


?>

我猜它会很简单。

干杯,

1 个答案:

答案 0 :(得分:4)

这里有一些问题:

  • 您的GET变量(您在链接中添加的变量)为id,而不是asset_id
  • 您不应该使用GET来修改数据库中的内容;如果您的浏览器或插件决定预取链接,您的数据库将被清除。
  • 你不能混用mysql apis,使用mysqli或mysql(虽然不是后者......)。
  • 不推荐使用mysql_*函数,您应该将PDO或mysqli与预准备语句结合使用。
  • 当你回复大量的html时,只需关闭php部分然后在需要时再打开它就更容易了;现在你在回声文本中有php标签。 php / strings / html没有正确分开。