gpt4 book ai didi

即使 SQL 失败,PHP 也始终报告 SQL 成功

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

这是一个简单的,也许我有一个长脑子放屁什么的,但发生的事情是表单用于设置记录,只有当名称和它们的 cpukey 匹配时才会继续,因为这是一个公共(public)页面没有登录,人们在不知道两组信息的情况下改变别人的东西是相当烦人的。所以这里的问题是,函数本身实际上工作得完美无缺,即使函数失败(由于一行或多行不匹配),生成的消息指出 SUCCESS 或 FAILURE 始终会生成 SUCCESS

这是使用的代码。

if(isset($_POST['upduserNotify'])){
$ccurrentname = mysqli_real_escape_string($con, $_POST['ccnameVal']);
$cclientnotify = mysqli_real_escape_string($con, $_POST['cnotifyVal']);
$cclientcpuk = mysqli_real_escape_string($con, $_POST['ccpukeyVal']);

$changenot = "UPDATE clients SET notify = '$cclientnotify' WHERE cpukey = '$cclientcpuk' AND name = '".$_POST['ccnameVal']."'";

if (mysqli_query($con, $changenot)) {
echo'<div align ="center" style="color:#000000">Your Custom notification was updated successfully</div><br />';
} else {
echo'<div align ="center">You entered an incorrect CPUKEY/Name or used an invalid character</div><br />';
}
}

最佳答案

运行但未找到要更新的行的 UPDATE 查询仍然是一个成功的查询 - 它运行完成而没有遇到任何错误,因此 mysqli_query 将返回 TRUEper the docs 。 (如果它是 SELECT 类型的查询,它将返回一个 mysqli_result 对象。)

如果您想在没有找到任何要更新的行时执行不同的操作,您需要查看 the number of affected rows并采取相应行动。

关于即使 SQL 失败,PHP 也始终报告 SQL 成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46334122/

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