PHP编写的语句更新表单

时间:2013-03-30 19:52:12

标签: php database prepared-statement

我会将这个问题分解为段落以便于引用;

  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;
            }
    

    &GT;

  3. 当用户按下html中的按钮时,它会调用一个包含Ajax的脚本,该脚本引用上面的php脚本。

  4. 每次按下该按钮时,此php文件必须从数据库列“click”获取当前“点击”,其中id = 1并加上1并将其插回数据库。

  5. 我一直在研究和查看我的代码,我可以得出结论,它与以下内容有关:

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

  6. $ _POST ['clicks']应该是数据库中的当前数字,并加1。

    问题: 我是否必须创建一个选择表单才能从数据库中获取当前的点击次数?或者我怎样才能将当前点击加1并将新号码放回数据库,直到下次有人按下按钮?

    如果您想加深5个步骤中的任何一个,请告诉我。

1 个答案:

答案 0 :(得分:0)

你可以使用:

$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();

    } 
相关问题