Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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 PDO方法与我的代码有一些问题_Php_Pdo - Fatal编程技术网

Php PDO方法与我的代码有一些问题

Php PDO方法与我的代码有一些问题,php,pdo,Php,Pdo,嗨,我正在使用PDO包裹对象 https://github.com/Xeoncross/DByte/blob/master/example.php 更新功能有一些问题。 这是他们定义的更新功能 static function update($table, $data, $value, $column) { $keys = implode('`=?,`', array_keys($data)); if($statement = DB::query( "UPDAT

嗨,我正在使用PDO包裹对象

 https://github.com/Xeoncross/DByte/blob/master/example.php
更新功能有一些问题。 这是他们定义的更新功能

static function update($table, $data, $value, $column)
{
    $keys = implode('`=?,`', array_keys($data));
    if($statement = DB::query(
        "UPDATE`$table`SET`$keys`=? WHERE`$column`=?",
        array_values($data + array($value))
    ))
        return $statement->rowCount();
}
我的更新功能

public function update_users($user_id, $user_name, $user_email, $user_role, $user_phone){

        $user_data = array(
        'user_name' => $user_name,
        'user_email' => $user_email,
        'user_pass' => $user_pass,
        'user_role' => $user_role,
        'user_phone' => $user_phone,
        );


        $result = DB::update('users', $user_data, $user_id);



}
这不是工作错误,我得到的是

 Warning: Missing argument 4 for DB::update(), called in \XXXClass.php on line 47 and defined in XXXX\Application\inc\DB.php on line 120

您需要传入列名(方法的第四个参数):

此外,在SQL关键字和列/表名称之间放置空格也不会有什么坏处:

"UPDATE `$table` SET `$keys`=? WHERE `$column`=?"

嗯,
DB::update
需要4个参数,而您要传递它3个。我看不出有什么这么难理解。你能告诉我作为第三个参数需要传递什么吗?我有点困惑。您需要传递值的列名…
update($table,$data,$value,$column)
"UPDATE `$table` SET `$keys`=? WHERE `$column`=?"