簡體   English   中英

php更新sql和查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM