drymoeuka282427675 2014-05-26 16:41
浏览 10

too long

Can someone tell me, in this query how to do the echo if the quantity is more than stock?

$updatequery =
    "UPDATE products SET
        stock =
            CASE WHEN stock >= '$quantity' THEN
                (stock-'$quantity')
            ELSE
                stock
            END
    WHERE product = '$product' " ;

I tried something like this but it doesn't work!

if (!$updatequery) {
    echo " We are sorry! The available stock of selected product ($stock units) in not enough ";
} else {
    echo "Hello $username! You ordered $product with quantity: $stock succesfully";
}
  • 写回答

1条回答 默认 最新

  • dongrang2186 2014-05-26 16:46
    关注

    Try this:

    $updatequery = "
        UPDATE `products`
        SET `stock` = `stock` - ".intval($quantity)."
        WHERE `product` = '".appropriate_escaping_function($product)."'
          AND `stock` >= ".intval($quantity)."
    ";
    

    Then, check the affected_rows function (can't tell you exactly what function without knowing what library you're using, but a quick search should find it). If it's zero, then either the product wasn't found (which you should already know before even trying to update) or it failed the stock >= quantity check.

    评论

报告相同问题?

悬赏问题

  • ¥20 数学建模,尽量用matlab回答,论文格式
  • ¥15 昨天挂载了一下u盘,然后拔了
  • ¥30 win from 窗口最大最小化,控件放大缩小,闪烁问题
  • ¥20 易康econgnition精度验证
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能