您好我正在使用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
答案 0 :(得分:0)
您需要传入列名(方法的第四个参数):
$result = DB::update('users', $user_data, $user_id, 'user_id'); // I presume `user_id` is the name of that column
在SQL关键字和列/表名之间放置空格也没什么坏处:
"UPDATE `$table` SET `$keys`=? WHERE `$column`=?"