【发布时间】:2020-04-14 11:06:28
【问题描述】:
我从我的数据库中获取了变量“stock”。我想用这段代码更新我的变量:
$stock = $_POST['stock']
$nom = 'salade';
$req=("UPDATE ingredients SET stock=$stock+1 WHERE nom = :nom;");
$stmt = $db->prepare($req);
// execute the query
$stmt->execute(array('nom'=>$nom));
但问题是我的变量增加了 8 而不是 1,因为我有 8 个元素(沙拉、西红柿、面包等)。我想用 UPDATE 加 1。
感谢阅读我!
【问题讨论】:
-
SET stock=stock + $stock -
为什么不像
$stock = $_POST['stock'] + 1;那样在更新前递增 -
使用准备好的语句,但仍然直接包含未经处理的用户输入...从而使这对 sql 注入开放。
-
您不应该从帖子值中设置值。让数据库自己增加。查看@Gilkan 的回答
标签: php sql database updates increment