gpt4 book ai didi

Php我无法删除表中的一行

转载 作者:行者123 更新时间:2023-11-29 10:10:00 25 4
gpt4 key购买 nike

我无法删除使用输入删除选择的行。我认为我必须在查询删除中设置其他参数,但我不知道到底是什么。

谁能帮助我,因为我是初学者?还有另一种方法可以做类似的事情吗?

我的目的是推送删除输入,然后删除具有特定 ID 的客户(与删除输入相同的原始数据)。

谁能给我一个带有示例的链接吗?

 <!DOCTYPE html>
<html>
<head>
<title>Table with database</title>
<style>
table {
border-collapse: collapse;
width: 100%;
color: #588c7e;
font-family: monospace;
font-size: 25px;
text-align: left;
}
th {
background-color: #588c7e;
color: white;
}
tr:nth-child(even) {background-color: #f2f2f2}
</style>
</head>
<body>
<table>
<tr>
<th>ID</th>
<th>Room</th>
<th>Name</th>
<th>Check In</th>
<th>Check Out</th>
</tr>

<?php

include('db_connection.php');
$conn = OpenCon();

//SQL query
$query = "Select * from ergazomenos";

if(isset($_POST['delete'])){
$querydelete = "delete from ergazomenos where trim(ID)
='$_POST[hidden]'";
$queryexee = mysqli_query($conn, $querydelete);

}

$result = mysqli_query($conn, $query);

if (!$result){
echo("Error description: " . mysqli_error($conn));
}


//query database

while($rows = mysqli_fetch_array($result)){

$ID = $rows['ID'] ;
$Room = $rows['Room'] ;
$Name = $rows['Name'];
$CheckIn = $rows['Check In'] ;
$CheckOut = $rows['Check Out'] ;




//echo "</td><td>" . $ID. "</td><td>" "<input type=hidden ID=hidden
value=" . $rows['ID'] . $Room. "</td><td>". $Name. "</td><td>" . $CheckIn. "
</td><td>" . $CheckOut. "</td><td>";


echo "</td><td>" . $ID. "</td><td>" . $Room. "</td><td>". $Name.
"</td><td>" . $CheckIn. "</td><td>" . $CheckOut. "</td><td>";
</td>";


echo ("<form action=delete.php method=post>");
echo ("<tr><td><div align=\"center\"> $ID </div>" . "<input
type=hidden name=hidden value=".$rows['ID'] . "</td> <td><div
align=\"center\">
$Room </div></td> <td><div align=\"center\"> $Name </div></td> <td><div
align=\"center\"> $CheckIn </div></td> <td><div align=\"center\"> $CheckOut
</div></td> <td><div align=\"center\"> <td><div ");
echo ("<td>" . "<input type=submit name=delete value=delete" . "
</td>");
//
echo ($rows['ID']);
//echo '<td><input type="button" name="delete"
value="delete"></td>';
echo ("</tr>");
echo ($_POST['hidden']);
}


CloseCon($conn);



?>

</table>


<button type="button" onclick="alert('Hello world!')">Insert</button>
<button type="button" onclick="alert('Hello world!')">Update</button>


</body>
</html>

最佳答案

你应该使用prepare语句来防止SQL注入(inject)

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$id = $_POST['hidden'];

// if you are using ID, make sure variable is number
if (is_numeric(id)) {

delete from ergazomenos where trim(ID)
='$_POST[hidden]'

/* create a prepared statement */
if ($stmt = mysqli_prepare($link, "DELETE FROM ergazomenos WHERE trim(ID) = ?")) {

/* bind parameters for markers */
mysqli_stmt_bind_param($stmt, "s", $id);

/* execute query */
mysqli_stmt_execute($stmt);

/* close statement */
mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
}
?>

这样更安全。

关于Php我无法删除表中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51170774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com