Php 无法更新此查询
嗨,有人能帮我吗Php 无法更新此查询,php,mysqli,Php,Mysqli,嗨,有人能帮我吗 $stmt = $conn->prepare("update data set anrede=?, vorname=?, nachname=?, strasse=?, plz=?, ort=?, krankenkasse=?, seit=?, personen=?, telefon=?, termin=?, time=?, vermittler=?, coment=?,feedback=?, Astatus=?, positiv=?, personen_amgaben=?
$stmt = $conn->prepare("update data set anrede=?, vorname=?, nachname=?, strasse=?, plz=?, ort=?, krankenkasse=?, seit=?, personen=?, telefon=?, termin=?, time=?, vermittler=?, coment=?,feedback=?, Astatus=?, positiv=?, personen_amgaben=?, fr_1=?, fr_2=?, z_fr_2=?, fr_3=?, z_fr_3=?, fr_4=?, z_fr_4=?, fr_5=?, fr_6=? where t_id=?");
$stmt->bind_param('sssssssssssssssssssssssssssi',$anrede, $vorname, $nachname, $strasse, $plz, $ort, $krankenkasse, $seit, $personen, $telefon, $termin, $time, $vermittler, $coment, $feedback, $Astatus, $positiv, $personen_amgaben, $fr_1, $fr_2, $z_fr_2, $fr_3, $z_fr_3, $fr_4, $z_fr_4, $fr_5, $fr_6, $t_id);
我遇到了这个错误--致命错误:对中的非对象调用成员函数bind_param()
有什么问题错误表明$stmt不是对象。当$conn->prepare()失败时,可能会发生这种情况。自:
mysqli_prepare()返回语句对象,如果发生错误,则返回FALSE
因此,您应该检查返回值是否为false,然后检查错误是什么,这可以通过mysqli方法实现:
返回最近一次MySQLi函数调用的最后一条错误消息,该调用可能成功,也可能失败
因此,您的代码可以如下所示:
stmt = $conn->prepare(" ... ");
if (stmt === false) {
die($conn->error);
}
$stmt->bind_param( ... );
请注意,在生产模式下,最好不要将数据库错误消息打印到浏览器,而是打印到日志文件中
从注释中可以看出,上面的代码打印:
“字段列表”中的未知列“正”
这清楚地表明了该声明失败的原因。您的表数据显然没有称为positive的列。因此,请更正该输入错误(可能称为“肯定”),然后重试,修复可能以这种方式报告的任何其他错误。您能否发布
var\u dump($stmt)的结果代码>它给出bool(false)var\u dump($conn->error)的结果代码>?我猜其中一列拼写错误或不存在。string(40)“字段列表中的未知列'positive'”