为什么这段代码在数据库中不起作用?

Why this code does not work in the database?

public $sql;
public $data;

public function get() {
$this->sql .= 'SELECT users.name
     , users.username 
     , user_avatar_image 
  FROM users_information
  JOIN users
    ON users.id = users_information.user_id
 WHERE user_id = :user_id';


$this->data  = ["user_id" => 1273];

$result = $this->pdo->prepare($this->sql);
$result->execute($this->data);
$result = $result->fetchAll(\PDO::FETCH_OBJ);
return $result;
}

result =

Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in ...