我遇到了问题。我创建表单(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);
}
答案 0 :(得分:0)
如果要将多于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'"
答案 1 :(得分:0)
此行中有错误
$ query =&#34; DELETE FROM europa
WHERE ID ,Nacja, LiczbaPkt
= $ ID,$ Nacja,$ LiczbaPkt&#34;;
将上述行替换为
$ query =&#34; DELETE FROM europa
WHERE ID
=&#39; $ ID&#39;和Nacja
=&#39; $ Nacja&#39;和LiczbaPkt
=&#39; $ LiczbaPkt&#39; &#34 ;;
答案 2 :(得分:0)
使用此查询
$ query =&#34; DELETE FROM europa
WHERE ID =&#39; $ ID&#39;和Nacja =&#39; $ Nacja&#39; AND LiczbaPkt` =&#39; $ LiczbaPkt&#39;&#34;;