codeigniter 如何在下面的语句中添加Where子句?

ftf50wuq  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(88)

如何使用配置项在以下查询中添加where子句?例如WHERE name = 'Joe'

<?php
    include 'dbclass.php';
    $db = new DB();
    $users = $db->getRows('users',array('order_by'=>'id DESC'));
    if(!empty($users)): 
        $count = 0; 
        foreach($users as $user): 
            $count++;
?>

dbclass.php代码段:

public function getRows($table,$conditions = array()){
    $sql = 'SELECT ';
    $sql .= array_key_exists("select",$conditions)?$conditions['select']:'*';
    $sql .= ' FROM '.$table;
    if(array_key_exists("where",$conditions)){
        $sql .= ' WHERE ';
        $i = 0;
        foreach($conditions['where'] as $key => $value){
            $pre = ($i > 0)?' AND ':'';
            $sql .= $pre.$key." = '".$value."'";
            $i++;
        }
    }

    if(array_key_exists("order_by",$conditions)){
        $sql .= ' ORDER BY '.$conditions['order_by'];
    }

    if(array_key_exists("start",$conditions) && array_key_exists("limit",$conditions)){
        $sql .= ' LIMIT '.$conditions['start'].','.$conditions['limit'];
    }elseif(!array_key_exists("start",$conditions) && array_key_exists("limit",$conditions)){
        $sql .= ' LIMIT '.$conditions['limit'];
    }

    $result = $this->db->query($sql);

我需要传递Where子句条件的帮助。我正在使用Codeignitor 4。

kadbb459

kadbb4591#

不确定codeigniter部分在这里的什么位置,看起来像您编写的代码,因此只需将where键添加到您要传递的数组中,如下所示

$users = $db->getRows('users',array('where' => ["name => 'Joe']",
                                'order_by'=>'id DESC'));

相关问题