簡體   English   中英

PHP准備的語句更新表

[英]PHP prepared statement update form

我將這個問題分成幾段以便於參考。

  1. 我有一個帶有按鈕的網站,該按鈕將數據庫中的當前數字加1。

  2. 我現在使用了“更新”形式,以便加上數據庫中的數字。 我使用准備好的語句來做到這一點:

     <?php require_once('connectvars.php'); $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); if (mysqli_connect_errno()) { echo 'Cannot connect.' . mysqli_connect_error(); exit(); } if ($stmt = $mysqli->prepare('UPDATE `javascriptbutton` SET `clicks`=? WHERE `id`=?')) { $stmt->bind_param('ii', $clicks, $id); $clicks = $_POST['clicks'] + 1; $id = 1; $stmt->execute(); $stmt->close(); } else { echo 'Woops, something went wrong.: ' . $mysqli->error; } 

    ?>

  3. 當用戶按下html中的按鈕時,它將調用包含Ajax的腳本,該腳本引用了上面的php腳本。

  4. 每次按下該按鈕時,此php文件都必須從id == 1的數據庫“ clicks”列中獲取當前的“ clicks”,並將其加1,然后將其重新插入數據庫。

  5. 我一直在研究和研究我的代碼,我可以得出結論,這與以下內容有關:

    $ clicks = $ _POST ['clicks'] + 1;

$ _POST ['clicks']應該是數據庫中的當前數字,並加上1。

問題:是否必須創建一個選擇表單才能使當前點擊從數據庫中獲得? 或者,我如何才能將當前的點擊次數加1,然后將新的數字放回數據庫中,直到下一次有人按下按鈕?

如果您想加深5個步驟中的任何一個,請告訴我。

您可以使用:

$mysqli->prepare("UPDATE `javascriptbutton` SET `clicks`=`clicks`+1 WHERE `id`=?")

編輯完整代碼:

    if ($mysqli->prepare("UPDATE `javascriptbutton` SET `clicks`=`clicks`+1 WHERE `id`=?")) { 

        $stmt->bind_param('i', $id);
        $id = 1;

        $stmt->execute();

        $stmt->close();

    } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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