我有一页,我从上一页获得了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;
}
因此可以组合两个查询。 在此先感谢。
答案 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']);