库MySQLi预处理语句不执行(MySQLi Prepared Statement not exec

2019-09-18 06:50发布

下面的代码运行没有任何错误,但实际上并没有删除任何东西:

      $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的准备statments,但是这一次是不修改表的唯一的一个。 没有错误或显示,但该行不会从表中缺失。 我已经验证了$ RID,$ BASE_VALUE和$ fx_rate是正确的价值观,和行是在表中相匹配的值DEFINITELY存在。

这种说法和其他人之间的唯一区别是参数和事实,即它删除选择或UPDATE代替。 我也试着做一个SELECT或UPDATE,而不是删除使用相同的WHERE参数,但没有运气。 这个问题似乎是,它没有找到一个排适合的WHERE参数,但就像我说的,该行肯定是存在的。

有任何想法吗?

Answer 1:

是量的整数或双? 你转换成整数(“三”),但我相信这将是$ 0.34相似。 尝试“IDI”代替。

编辑:这同样适用于速度 - 是整数或双吗?



文章来源: MySQLi Prepared Statement not executing
标签: php mysqli