使用bind_param()的PHP UPDATE不起作用

时间:2016-10-08 08:12:30

标签: php mysql sql

美好的一天,我对PHP并不熟悉,当我尝试执行查询时出现此错误。

  

致命错误:未捕获错误:在C:\ xampp \ htdocs \ LoginWithMySQLi \ changenameaction.php中调用boolean上的成员函数bind_param():12堆栈跟踪:#0 {main}在C:\ xampp \ htdocs中抛出第12行的LoginWithMySQLi \ changenameaction.php

这是我的代码:

session_start();

require_once 'dbconnect.php';

$stmt = $DBcon->prepare("UPDATE tbl_users SET fname = ?, lname = ?, WHERE user_id = ?");
    $stmt->bind_param('sss', $_POST['fname'], $_POST['lname'], $_SESSION['userSession']);
    $stmt->execute(); 
    $stmt->close();

$DBcon->close();

你知道我做错了什么吗?

先谢谢

2 个答案:

答案 0 :(得分:2)

sql语句在准备阶段失败,因此您应该在继续使用其他方法之前测试该语句是否正确 - 失败的原因是my-custom-row.js子句之前的额外逗号

import { bindable } from 'aurelia-framework';

export class MyCustomRow {
    @bindable model;
    @bindable title;
    @bindable isEditable;
    @bindable valueChangedCallback;

    constructor() {}

    valueChanged(modelValue) {
        this.valueChangedCallback({ modelValue })
    }
}

答案 1 :(得分:1)

你有一个尾随的逗号,你的sql应该是这样的

UPDATE tbl_users SET fname = ?, lname = ? WHERE user_id = ?