【问题标题】:how to subtract in sql using php如何使用php在sql中减去
【发布时间】:2018-04-30 21:48:58
【问题描述】:

我想用 php 减去我数据库中的数量

部分 HTML 代码

<label class="control-label">Medicine Name</label>
<input type="text" class="form-control" name="medname">
<label class="control-label">Quantity</label>
<input type="text" class="form-control input-sm" name="quantity">
<button type="submit" class="btn" style="background:#830006;" name="submit1">OK</button>

PHP

if (isset($_POST['submit1'])) {
  $mediname = pg_escape_string($_POST['medname']);
  $tits = pg_escape_string($_POST['quantity']);

  $quirt = ("UPDATE medicine_invent set med_stock = med_stock - $tits where med_name = $mediname");
  $sq = pg_query($quirt);
}

请帮助我。我仍然是 php 的初学者。非常感谢。

【问题讨论】:

  • 没有出现错误?
  • 也许这个question 会帮助你。 (10 秒。谷歌)
  • 首先选择 med_stock 的当前数量,然后用 $_POST['quantity'] 减去它,最后更新该数量。
  • 没有错误。但我的数据库中没有任何反应
  • 非常感谢@MaximilianFixl

标签: php html postgresql


【解决方案1】:

如果 $mediname 是字符串,你应该在这个 var (string var) 周围使用引号

 ("UPDATE medicine_invent 
       set med_stock = med_stock - $tits 
       where med_name = '$mediname'");

无论如何,您不应该在您的 sql 代码中直接使用 php var 以避免 sqlinjection 风险.. 检查您的框架/dbdriver 参数化查询的正确使用并使用绑定参数功能传递您需要的值

【讨论】:

  • 非常感谢先生。我现在有了一个想法。非常感谢。
  • @JasonRonda 那么你应该给他 1+ ;)​​
  • 您好,先生,@scaisEdge 那么您为什么不引用这个 => med_stock - $tits
  • @Rits .. 数字不需要引号 ... 字符串需要引号。 ..这是事实..
  • @Rits 插入数字是因为 sql 引擎执行直接转换确实涉及算术操作但正确使用(以及正确理解数字和字符串变量之间的区别)数字 var not no 必须写在引号中.. .. 无论如何,另一个答案的 cmets 不适合回答新问题.. 如果您需要更多发布一个新的正确记录的问题
猜你喜欢
  • 1970-01-01
  • 2022-07-07
  • 1970-01-01
  • 1970-01-01
  • 2019-09-18
  • 1970-01-01
  • 2012-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多