以下代码运行时没有任何错误,但实际上并没有删除任何内容:
$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参数的行,但就像我说的那样,行确实存在。
有什么想法吗?
答案 0 :(得分:0)
金额是整数还是双数?你正在转换为整数('iii'),但我认为它将是0.34美元或类似。请尝试'idi'。
编辑:同样适用于费率 - 是整数还是双数?