You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Codeigniter中编写指定的用户登录校验SQL查询语句

CodeIgniter 框架对应SQL查询实现方案

下面给出两种常用的实现方式:

  • 方式一:查询构造器写法(推荐,自动处理参数转义,防SQL注入)
    代码示例:
    // 接收的用户参数
    $email = 'xxx@example.com';
    $password = '用户输入的密码';
    
    // 链式调用构造查询
    $query = $this->db
        ->where('user_name', $email)
        ->where('password', $password)
        ->get('login');
    
    // 读取结果
    // 获取所有结果(对象数组格式)
    $result = $query->result();
    // 单条匹配结果可以用行对象
    $user = $query->row();
    // 如需数组格式可以用 result_array() / row_array()
    
  • 方式二:原生查询写法
    建议配合参数绑定使用,不要直接拼接SQL字符串避免注入风险:
    $sql = "SELECT * FROM `login` WHERE user_name = ? AND password = ?";
    // 按顺序传入参数数组,框架会自动转义
    $query = $this->db->query($sql, [$email, $password]);
    
    $result = $query->result();
    

风险提示:直接拼接变量到SQL语句的写法存在SQL注入漏洞,禁止在生产环境使用,示例如下:

// 错误示例,切勿使用
$sql = "SELECT * FROM `login` WHERE user_name='".$email."' AND password='".$password."'";
$query = $this->db->query($sql);

内容的提问来源于stack exchange,提问作者Sanjay Kushwah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 12:00:00