我目前正在尝试运行一个查询,其中mysql表列的当前值增加1 ...让我用mysql查询示例显示这个
$sql = mysql_query("UPDATE `table` SET quantity=quantity+1 WHERE id='$id'");
我无法在PDO准备好的声明中这样做......
$sql = "UPDATE `table` SET quantity=:quants+1 WHERE id=:userid";
$sql_prep = $db->prepare($sql);
$sql_prep->bindParam(":quants", what will i write here??);
$sql_prep->bindParam(":userid", $id);
$sql_prep->execute();
需要帮助..!感谢
答案 0 :(得分:3)
您不需要将其作为参数传递,只需执行:
$sql = "UPDATE `table` SET quantity=quantity+1 WHERE id=:userid";
$sql_prep = $db->prepare($sql);
$sql_prep->bindParam(":userid", $id);
$sql_prep->execute();
答案 1 :(得分:0)
您不需要保护quantity
,因为您只是在增加数据库中已有的值。
$sql = "UPDATE `table` SET quantity=quantity+1 WHERE id=:userid";
您也可以删除:quants
$sql_prep = $db->prepare($sql);
// NOT NEEEDED --> $sql_prep->bindParam(":quants", what will i write here??);
$sql_prep->bindParam(":userid", $id);
$sql_prep->execute();
预备语句用于保护通过查询从外部插入数据库的数据。