以下代码运行没有任何错误,但实际上并没有删除任何内容:
$update = $mysqli->prepare('DELETE FROM table WHERE RetailerID = ? AND Amount = ? AND FXRate = ?');
$update->bind_param('iii', $rID, $base_value, $fx_rate);
$update->execute();
$update->close();
我在同一个文件中有许多 mysqli 准备好的语句,它们执行得很好,但这是唯一一个不修改表的语句。没有错误或显示,但该行也没有从表中删除。我已验证 $rID、$base_value 和 $fx_rate 是正确的值,并且表中肯定存在与这些值匹配的行。
此语句与其他语句之间的唯一区别是参数以及它是 DELETE 而不是 SELECT 或 UPDATE 的事实。我还尝试使用相同的 WHERE 参数执行 SELECT 或 UPDATE 而不是 DELETE,但没有运气。问题似乎是它没有找到适合 WHERE 参数的行,但就像我说的那样,该行肯定存在。
有任何想法吗?