-2

こんにちは、私は 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
4

1 に答える 1

0

列名 (メソッドの 4 番目の引数) を渡す必要があります。

$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`=?"
于 2013-09-11T17:36:45.983 に答える