如何使用php删除单行

时间:2014-08-12 09:44:27

标签: php mysql

亲爱的,请帮助我 我的代码中出现了一些错误

这是我的view.php页面

<html>
   <body>
      <table  style="border:#333 solid"  border="2">
         <tr>
            <td>ID:</td>
            <td>NAME:</td>
            <td>EMAIL:</td>
            <td>MOBILE:</td>
            <td>EDIT:</td>
            <td>DELETE:</td>
         </tr>
<?php
include_once('connect.php');
$query="select * from emp";
$conn=mysqli_query($con,$query);
if(isset($conn))
{
  echo"This is all data of table.";
}
else
{
  die("query is not execute". mysqli_error());  
}   

 while($row=mysqli_fetch_array($conn))
 {
?>
  <tr>
    <td><?php echo $row['emp_id']; ?></td>
    <td><?php echo $row['emp_name']; ?></td>
    <td><?php echo $row['emp_address'] ?></td>
    <td><?php echo $row['emp_salary'] ?></td>
    <td><a href="edit.php?id=<?php echo $row['emp_id'];?>"><font   color="#FF0000">EDIT</font></a></td>
    <td><a href="delete.php?id=<?php echo $row['emp_id'];?>"><font   color="#FF0000">DELETE</font></a></td>
  </tr>
 <?PHP
 }
 ?>
       </table>
    </body>
 </html>

这是我的delete.php文件:

  <?php 
  include_once('connect.php');
  $id=$_GET['emp_id'];
  $query="delete from emp where emp_id='$id'";
  $del=mysqli_query($con,$query);
  if($del)
  {
    echo"record has been deleted";  
  }
  else
  {
    die("Record is not deleted it is query error.".mysqli_error()); 
  }
  ?>

如何访问delete.php文件中view.php的ID以及如何删除db表中的单行。 我不明白如何访问view.php的id。 在此程序中,我不会删除所选行。请告诉我如何删除数据。 请任何人帮助我。

3 个答案:

答案 0 :(得分:3)

您要发送edit.php?id=,因此需要使用id

从查询字符串中获取GET['id']
$id = $_GET['id'];

答案 1 :(得分:1)

更改delete.php中的代码,如下所示

 <?php 
 include_once('connect.php');
 $id=$_GET['id'];
 $query="delete from emp where emp_id='$id'";
 $del=mysqli_query($con,$query);
 if($del)
 {
     echo"record has been deleted";   
 }
 else
 {
     die("Record is not deleted it is query error.".mysqli_error());  
 }
 ?>

答案 2 :(得分:0)

请注意,在查询中使用$_GET数据只会造成麻烦,尤其是在未正确转义的情况下。你的自我开启SQL injection攻击。

如果您要使用mysql_real_escape_string函数,请使用mysql_*,只要意识到它已在PHP 5.5中弃用。

您还可以选择使用MySQLiPDO,因为他们都使用上一个问题中提到的预备语句How can I prevent SQL-injection in PHP?