mysql从geted id中选择id并执行增量操作

时间:2017-08-11 09:31:50

标签: php mysql

我有一页,我从上一页获得了id。 现在我想根据该id更新表。但是目前我正在使用两个sql queries.i想要将两个查询组合在一起并进行单个查询。 这是我的代码。

$id = $_GET['id'];

//GET DETAILS
$sql = $conn->query("SELECT clicks FROM banners WHERE id = '".$_GET['id']."'")->fetch_object();
$lastClick = $sql->clicks;
$newClick = $lastClick + 1;

$insertt = "UPDATE banners SET clicks='$newClick' WHERE id = ".$_GET['id']."";
$insert = $conn->query($insertt);
if($insert){
    echo "Redirecting to you At.  ".$sql->link;
}else{
    echo $insertt;
}

因此可以组合两个查询。 在此先感谢。

2 个答案:

答案 0 :(得分:1)

你能做的很简单:)

UPDATE banners SET clicks= clicks+1 WHERE id = ".$_GET['id']."

但是在执行SQL请求时不要使用连接。请改用绑定(以避免SQL注入):

$sql = $conn->prepare("UPDATE banners SET clicks= clicks+1 WHERE id = :id");
$sql->bindParam(':id', $_GET['id'], PDO::PARAM_INT);
$sql->execute();

答案 1 :(得分:0)

您可以在更新查询中增加列值。

$sql = "UPDATE banners SET clicks = clicks + 1 WHERE id = '".$_GET['id']."'";

还要在查询中使用其值之前通过转义来清理$_GET['id'](假设您使用的是mysqli

mysqli_real_escape_string($conn, $_GET['id']);