【问题标题】:mysql prepared statements with special operators (addition, subtraction etc.)?mysql 用特殊运算符(加法、减法等)准备语句?
【发布时间】:2011-08-23 05:15:30
【问题描述】:

这种情况是否可行:

$query = ' UPDATE users SET balance = (balance + ?) WHERE user = ? ';

$sth = $dbh->prepare($query);

$sth->execute(array($rechargeamount, $username));

基本上,一个准备好的金额语句,后跟一个加法运算符。还是准备好的语句也必须包含“余额”值?

非常感谢!

【问题讨论】:

  • 一个疯狂的想法:试试看。我敢打赌,这比写一个问题要快。
  • @cularis:他的 CPU 会为他执行的每次计算收费。所以在这里问更便宜,也许:-S
  • 我确实尝试过,它正在准备中,但对为什么它不起作用感到困惑。感谢 Rikudo 的高效快速解答。

标签: php mysql pdo operators prepared-statement


【解决方案1】:

会工作。确保你准备好一个 int(取决于你使用的 sql 引擎)

【讨论】:

  • 在Mysql PDO的情况下你如何“准备成int”?由于上面的准备工作很好,但是作为数字浮点数的值没有被添加到余额中。
  • $stmt->bindParam(':param', $param, PDO::PARAM_INT);
猜你喜欢
  • 2012-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-02
  • 1970-01-01
  • 2013-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多