MySQLi Prepared Statement未执行

时间:2012-06-20 00:49:11

标签: php mysqli

以下代码运行时没有任何错误,但实际上并没有删除任何内容:

      $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参数的行,但就像我说的那样,行确实存在。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

金额是整数还是双数?你正在转换为整数('iii'),但我认为它将是0.34美元或类似。请尝试'idi'。

编辑:同样适用于费率 - 是整数还是双数?