[英]php Update sql and Query
我想在php中做一個查詢,輸出頁面上的數據,然后在數據庫中進行修改。
我怎么做?
目前我這樣做,但它不起作用:
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM pics WHERE id = '$id'";
$result = $conn->query($sql);
// output data of each row
while($row = $result->fetch_assoc()) {
$dir = $row["dir"];
$likes = $row["likes"];
}
$sqlq = "UPDATE pics SET likes='$likes+1' WHERE id='$id'";
$conn->query($sqlq);
$conn->close();
但是類似的不會添加到數據庫中。
如果您使用回顯您的 $sqlq
echo $sqlq;
你會看到'$likes+1'
沒有按照你的預期做。
你真的可以通過這樣做來簡化它
$sqlq = "UPDATE pics SET likes=likes+1 WHERE id='$id'";
這消除了兩個用戶同時更新數據庫相互覆蓋的風險。
但是您真的應該檢查使用“參數化查詢”,因為這可以解決您的所有問題(並且您的查詢可能更安全)。 檢查手冊http://php.net/manual/en/mysqli-stmt.bind-param.php 中的示例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.