PHP Mysqli更新查询问题
我不太擅长编码,我被困在一个相当简单的查询上,我将感谢所有的帮助,我正在使用mysqli。以下是我的php代码: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
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
需要加引号。但最好使用参数。