Php 即使数据库中没有记录,也要删除查询返回值
您的代码应该更像这样:Php 即使数据库中没有记录,也要删除查询返回值,php,mysql,Php,Mysql,您的代码应该更像这样: <?php include "conn.php"; include "session.php"; $name_enterd=$_GET['Name']; $sql = "DELETE FROM myDB.Mynew WHERE firstname='$name_enterd' OR lastname='$name_enterd'"; echo "&
<?php
include "conn.php";
include "session.php";
$name_enterd=$_GET['Name'];
$sql = "DELETE FROM myDB.Mynew WHERE firstname='$name_enterd' OR lastname='$name_enterd'";
echo "<br>";
$result=$conn->query($sql);
if($result==1)
{
echo "<br> Data deleted successfully";
}
else
{
echo "No Data Found<br>";
}
?>
即使查询仅影响0行,它仍然成功完成,因此您希望$result为1 您得到了正确的输出。在执行该查询时,您要求数据库检查是否存在具有该名字或姓氏的数据,并将其删除。即使没有与之匹配的数据,查询仍然成功运行
你需要使用它
$result->rowCount()==1
而不是
$result==1
这真的取决于你想用结果做什么。如果你只是想告诉用户它已经被删除了,那么使用你所拥有的就可以了。但是,如果您想让用户知道是否有任何内容已被删除,则需要使用我上面的建议或其他方法来确定是否存在这种情况。事实上,您可能在该代码中使用了mysqli
,因此您可以尝试使用受影响的行
而不是rowCount
:
看
什么是
<?php
include "conn.php";
include "session.php";
$name_enterd=$_GET['Name'];
$sql = "DELETE FROM myDB.Mynew WHERE firstname='$name_enterd' OR lastname='$name_enterd'";
echo "<br>";
$result=$conn->query($sql);
if($result->rowCount() > 0)
{
echo "<br> Data deleted successfully";
}
else
{
echo "No Data Found<br>";
}
?>
给你?正如你建议的那样,我也做了同样的事情,但得到了这个致命错误:对非对象调用成员函数rowCount()。你得到了什么?致命错误:对非对象调用成员函数rowCount()
$result->affected_rows