Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Mysqli更新查询问题_Php_Mysqli - Fatal编程技术网

PHP Mysqli更新查询问题

PHP Mysqli更新查询问题,php,mysqli,Php,Mysqli,我不太擅长编码,我被困在一个相当简单的查询上,我将感谢所有的帮助,我正在使用mysqli。以下是我的php代码: if(!empty($_POST)){ if(isset($_POST['email_adres'])){ $email_adres = trim($_POST['email_adres']); $score = 1; if(!empty($email_adres)) { $insert = $db-&g

我不太擅长编码,我被困在一个相当简单的查询上,我将感谢所有的帮助,我正在使用mysqli。以下是我的php代码:

if(!empty($_POST)){
    if(isset($_POST['email_adres'])){
        $email_adres = trim($_POST['email_adres']);
        $score = 1;
        if(!empty($email_adres)) {
            $insert = $db->prepare("UPDATE gebruiker SET score WHERE email_adres = $email_adres VALUES(?)");
            $insert->bind_param('s',$score);
            if($insert->execute()){
                die();
            }
        }
    }
}
这是我得到的错误:

致命错误:对非对象调用成员函数bind_param()


您有一个错误的
UPDATE
语句。应该是这样的:

UPDATE gebruiker SET score = ? WHERE email_adres = $email_adres

更新查询的语法如下所示:

Update {table_name} SET {fieldname} = {value} WHERE {condition}
所以,我们的查询应该是这样的

UPDATE gebruiker SET score = ? WHERE email_adres = ?
检查以下代码:

if(!empty($_POST)){
    if(isset($_POST['email_adres'])){
        $email_adres = trim($_POST['email_adres']);
        $score = 1;
        if(!empty($email_adres)) {
            $insert = $db->prepare("UPDATE gebruiker SET score = ? WHERE email_adres = ?");
            $insert->bind_param('is',$score,$email_adres);
            if($insert->execute()){
                die();
            }
        }
    }
}

好了,你去吧;非对象。可能是任何东西。检查PHP/MySQL方面的错误。您的查询是wayyyy off
其中email\u adres=$email\u adres value(?)
。这需要一个MySQL 101教程。和
bind_参数('s'
)并尝试绑定一个整数。您的查询有语法错误。应该是
UPDATE gebruiker SET score=?WHERE email_adres=?
。您还应该绑定
$email_adres
->
$insert->bind_参数('is',$score,$email_adres);
我想您正在尝试这样做:
$insert=$db prepare>(“UPDATE gebruiker SET score=?WHERE email_adres=?”;$insert->bind_param('ss',$score,$email_adres);
Edit:在查看变量
$insert
后,我认为您对
UPDATE
insert
查询感到困惑。我真的不得不这么说。糟糕的问题往往会引来糟糕的答案(到目前为止)。那么,请在下面询问他们。好的,那么想解释一下为什么他们的代码没有通过测试吗?现在有这么多低质量的答案,这一点都不好笑。
$email\u adres
需要加引号。但最好使用参数。