【问题标题】:Confirming deletion of record in mysql php确认删除mysql php中的记录
【发布时间】:2018-07-12 13:34:25
【问题描述】:

我正在尝试删除 php mysql 中的一行。该行被安静地删除了,但mysqli_affected_rows($conn) 没有给出响应,所以我可以为用户确认删除。

 $sql="DELETE FROM `users` WHERE `memberID`='$id'";
 $res=mysqli_query($conn,$sql);
 if(mysqli_affected_rows($conn) == 1){
     echo 'success'
 } else {
     echo "The User could not be deleted due to some error";
     echo mysqli_affected_rows($conn);
 }

【问题讨论】:

  • 您确定 memberID 是唯一的吗?如果不是,您需要将== 更改为>0
  • echo 'success' 缺少 ;
  • 点击删除按钮可以调用模型。因此,当您从模型中单击“是”时,您可以执行删除。
  • 您的 PHP 错误日志是否显示任何错误?
  • 感谢 cmets。是的 memberID 是唯一的。 av 还更正了 echo 'succee';不幸的是,没有输出错误,但记录已被删除

标签: php mysql confirm


【解决方案1】:

您不需要通过布尔值0或1进行检查。但是如果您想这样做,您需要在此之前声明一个标志,然后根据条件更改标志值,然后您可以这样做它[按照你的方式]

(mysqli_affected_rows($conn) == 1)

但默认情况下,一个简单的if() 条件将检查并在通过时返回 true,在失败时返回 false。

所以,你可以这样做:

if($res)
{
//your codes if query is done
} else
{
//your codes if query fails
}

【讨论】:

  • 不幸的是它不能正常工作。难道是我在使用php7?
  • 我发现了我的问题。我正在使用 JavaScript(ajax),所以我在 java 脚本中的输出代码有一个错误的逻辑,这就是我得到错误反馈的原因。谢谢
【解决方案2】:

默认情况下,如果一切顺利,mysqli_query() 函数将返回 true,如果有任何错误,则返回 false。您可以检查您的查询是否没有返回任何错误,如下所示:

if($res) {
   echo "Delete success";
} else {
    echo "Delete error: " . mysqli_error();
}

【讨论】:

  • 我不知道为什么,但它不起作用......它仍然在 else 中向我显示错误消息。它会删除数据
猜你喜欢
  • 2022-07-26
  • 2016-12-15
  • 1970-01-01
  • 2014-09-11
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多