我遇到了一个问题。我创建表单(usuw1.php(和(usuw2.php(。但是当我想删除行时,我收到错误消息,该行不会删除。我不知道为什么,因为我的代码没问题。我想。请帮帮我。
<html>
<body>
<h2>Usuwanie Rekordu</h2>
<form action="usuw2.php" method="post">
<table>
<tr>
<td>ID:</td>
<td><input type="text" name="ID" id="ID" ></td>
</tr>
<tr>
<td>Nacja:</td>
<td><input type="text" name="Nacja" id="Nacja" ></td>
</tr>
<tr>
<td>LiczbaPkt:</td>
<td><input type ="text" name="LiczbaPkt" id="LiczbaPkt"></td>
</tr>
<tr>
<td><input name="delete" type="submit" id="dodaj"
value="Usun Rekord"></td>
</tr>
</table>
</form>
</body>
</html>
<?php
// php code to Delete data from mysql database
if(isset($_POST['delete']))
{
$hostname = "localhost";
$username = "root";
$password = "";
$databaseName = "kluby ranking";
// get id to delete
$ID=$_POST["ID"];
$Nacja=$_POST["Nacja"];
$LiczbaPkt=$_POST["LiczbaPkt"];
// connect to mysql
$connect = mysqli_connect($hostname, $username, $password, $databaseName);
// mysql delete query
$query = "DELETE FROM `europa` WHERE `ID ,Nacja, LiczbaPkt` = $ID,$Nacja,$LiczbaPkt";
$result = mysqli_query($connect, $query);
if($result)
{
echo 'Data Deleted';
}else{
echo 'Data Not Deleted';
}
mysqli_close($connect);
}
如果要
将超过 1 列与一堆结果进行比较,则不能使用 EQUALS(=( 符号。您可以通过AND
的多个条件或使用如下所示的IN
来实现此目的:
$query = "DELETE FROM `europa` WHERE (`ID`,`Nacja`,`LiczbaPkt`) in ('$ID','$Nacja','$LiczbaPkt')"
或具有多种条件:
$query = "DELETE FROM `europa` WHERE `ID` = '$ID' AND `Nacja` = '$Nanja' AND `LiczbaPkt` = '$LiczbaPkt'"
您
在这一行中有错误$query ="从europa
中删除,其中ID ,Nacja, LiczbaPkt
= $ID,$Nacja,$LiczbaPkt";
将上述行替换为
$query ="从europa
中删除,其中ID
='$ID',Nacja
='$Nacja'和LiczbaPkt
='$LiczbaPkt'";
使用此查询
$query = "从europa
中删除,其中 ID = '$ID' 和 Nacja = '$Nacja' 和 LiczbaPkt' = '$LiczbaPkt'";