【问题标题】:how do i create API function for this Codeigniter function我如何为这个 Codeigniter 函数创建 API 函数
【发布时间】:2017-12-15 11:12:35
【问题描述】:

这是我的待办事项应用程序在 codeigniter 中的一个函数,它以 $username 作为参数并通过检查该用户名的用户 ID 检查它是否存在,如果没有返回 ID,它会创建用户并返回新用户的 ID,如果用户名存在它只是返回ID。 我想为这个函数创建一个 API 函数,我很困惑我该怎么做

public function get_userid($username)
{

    $this->db->select('id');
    $this->db->from('user');
    $this->db->where("`username` = '".$username."'");
    $query = $this->db->get()->result;

    $count = count($query);
    if($count==0)
    {
        $this->create_user($username);
        return $this->get_userid($username);
    }

    return $query;
}

【问题讨论】:

  • 我也很困惑。尝试更具体地了解您的 API 结构
  • @claudio 我正在尝试制作一个获取用户 ID 的 APi,但在此函数中它也创建了一个用户。我尝试创建一个 API 函数,但由于在创建用户后有一个用于获取用户 ID 的递归,它继续循环并在数据库中创建数千个 NULL 条目。如果我不具体,我很抱歉我是初学者开发人员。
  • 为什么不创建一个新函数呢?为什么要使用这个?
  • @claudio 不知道这是不是一个好习惯。我正在考虑这样做。谢谢
  • 调用一个同样创建用户的函数get_userid 甚至不返回id(但查询结果)绝对不是一个好习惯。

标签: php api codeigniter


【解决方案1】:

你可以使用这个功能:

public function call_get_userid()
{
    $username = $this->input->get('username');

    echo json_encode($this->get_userid($username));

}

并将用户名作为 GET 参数传递

http://base_url/控制器/call_get_userid?username=用户名

【讨论】:

    【解决方案2】:

    尝试做这样的事情:

    public function get_userid($username)
    {
        $this->db->select('id');
        $this->db->where('username', $username);
        $result = $this->db->get('user')->result;
    
        if ($result && ($row = $result->row())) {
            return $row['id'];
        } else {
            return null;
        }
    }
    

    别忘了改函数名。

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 2020-08-16
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多