无法从表中删除一条特定记录

我目前对搜索感到沮丧,没有文章可以帮助我。我只想删除一行或一条记录,但最终要删除表上的整个记录​​

<?php
   // include database connection file
   $databaseHost = 'localhost';
   $databaseName = 'ceksaldo';
   $databaseusername = 'root';
   $databasePassword = '';

   $conn = mysqli_connect($databaseHost,$databaseusername,$databasePassword,$databaseName); 

   // Get id from URL to delete that saldo
   $id = $_GET['id'];

   // Delete saldo row from table based on given id
   //$result = mysqli_query($mysqli,"DELETE FROM saldo WHERE id=$id");
   $result ="DELETE FROM saldo WHERE id";
   if (mysqli_query($conn,$result)) {
       echo "Record deleted successfully";
   } else {
       echo "Error deleting record: " . mysqli_error($conn);
   }

   mysqli_close($conn);

   // After delete redirect to Home,so that latest saldo list will be displayed.
   echo "<a href=index.php>Home</a>"
?>

A screenshot of a couple of rows

我希望它会自动删除特定数据。我在某些文章中发现他们使用ID号删除记录。知道我在做什么错吗?

mayanfei_777 回答:无法从表中删除一条特定记录

<link href="https://cdnjs.cloudflare.com/ajax/libs/flickity/2.2.1/flickity.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flickity/2.2.1/flickity.pkgd.min.js"></script>

<div class="wrapper">
  <div class="img-container carousel">
    <div class="slide-img">
      <img src="img/bg1.jpg" alt="">
    </div>
    <div class="slide-img">
      <img src="img/bg1.jpg" alt="">
    </div>
  </div>
  <div class="text-container carousel">
    <div class="slide-text">
      <p>1</p>
    </div>
    <div class="slide-text">
      <p>2</p>
    </div>
  </div>
</div>

没有说出ID应该是什么。这将删除行!

您应该对此查询进行更新,指定要删除的记录。

$result ="DELETE FROM saldo WHERE id";

更大的问题是,在代码图片中您没有'$result ="DELETE FROM saldo WHERE id = $id"; '列,因此您需要将查询绑定到唯一标识每一行的内容。您可能需要更新表格,或者可能不会向我们显示整个表格。

警告

Little Bobby your script is at risk for SQL Injection Attacks. 了解有关preparedMySQLi语句。甚至escaping the string都不安全!

,

如果您需要删除特定的行,则需要使用WHERE

中的ID
DELETE FROM saldo WHERE id=?

由于您需要将变量传递给查询,因此mysqli_query()是不合适的。您必须使用准备好的语句。然后,您可以绑定值并执行。

要将值发送到PHP,可以使用链接或表单。

链接:

<a href="delete.php?id=123">Delete item with ID 123</a>

或采用以下格式:

<form method="get">
<input type="text" name="id" />
<input type="submit" value="Delete" />
</form>

您的固定代码应如下所示。请注意,我已启用错误报告,您应该始终这样做。我还添加了if语句,因为您只想在特定ID已传递到脚本的情况下执行查询。

<?php

// include database connection file
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = mysqli_connect('localhost','root','','ceksaldo');
$conn->set_charset('utf8mb4'); // always set the charset

// Get id from URL to delete that saldo
if (isset($_GET['id'])) {
    $id = $_GET['id'];

    // Delete saldo row from table based on given id
    $stmt = $conn->prepare('DELETE FROM saldo WHERE id=?');
    $stmt->bind_param('s',$id);
    $stmt->execute();
    echo "Record deleted successfully";
}

echo 'No ID selected. No record deleted!';

// After delete redirect to Home,so that latest saldo list will be displayed.
echo "<a href=index.php>Home</a>";
本文链接:https://www.f2er.com/2750803.html

大家都在问