php - 无法使用 codeigniter 从数据库中检索数据

标签 php mysql codeigniter

我需要在 codeigniter 中使用“get_where”短语从数据库中获取数据。

要构建的预期查询是:select * from tele_data where F_NAME=""and M_NAME=""and L_NAME=""and FACTORY=""and DEPT=""and COMPANY_NAME=""and DESIGNATION=""

我的观点

<div class="form-row">
            <label>
                <span style="color:#ff4d4d">Factory Name :</span>
                <select name="fcode" id="fcode">
                        <option value="CMGM">Crystal Martin Ceylon - Malwatta</option>
                        <option value="CMW">Crystal Martin Ceylon - Wathupitiwala</option>
                        <option value="CMG">Crystal Martin Ceylon - Garments</option>
                        <option value="CME" selected>Crystal Martin Ceylon - Europe</option>
                        <option value="CMCG">Crystal Martin Central - Galagedara</option>
                        <option value="CMPK">Crystal Martin Ceylon - Kanthale</option>
                        <option value="CMCD">Crystal Martin Central - Dambulla</option>
                </select>
            </label>
        </div>
        
        <div class="form-row">
            <label>
                <span>First Name :</span>
                <input type="text" name="fname" id="fname" >
            </label>
        </div>

        <div class="form-row">
            <label>
                <span>Middle Name :</span>
                <input type="text" name="mname" id="mname">
            </label>
        </div>
        
        <div class="form-row">
            <label>
                <span>Last Name :</span>
                <input type="text" name="lname" id="lname">
            </label>
        </div>
        
        <div class="form-row">
            <label>
                <span>Department :</span>
                <select name="department" id="department">
                    <option selected>Select One</option>
                    <option value="IT">Information Technology (IT)</option>
                    <option value="HR">Human Resources & Administration</option>
                    <option value="IE">Work Study</option>
                    <option value="QA">Quality Assurance & Control</option>
                    <option value="LEAN">Lean</option>
                    <option value="GENERAL">General</option>
                    <option value="OTHER">Other</option>
                </select>
            </label>
        </div>
        
        <div class="form-row">
            <label>
                <span>Company Name :</span>
                <input type="text" name="compname" id="compname">
            </label>
        </div>
        
        <div class="form-row">
            <label>
                <span>Designation :</span>
                <input type="text" name="designation" id="designation">
            </label>
        </div>
        
        <div class="form-row">
            <button type="submit">Search Now</button>
        </div>
        
    </form>

我已将 factory name="CMG"& Department="IT"作为表单的输入。其他为空白。

我的 Controller

public function search_results()
{
        $sdata = [
        
                'FACTORY'=>$this->input->post('fcode'),
                'F_NAME'=>$this->input->post('fname'),
                'M_NAME'=>$this->input->post('mname'),
                'L_NAME'=>$this->input->post('lname'),
                'DEPT'=>$this->input->post('department'),
                'COMPANY_NAME'=>$this->input->post('compname'),
                'DESIGNATION'=>$this->input->post('designation')
                
                ];
        $this->load->model('users');
        $y=$this->users->display_users($sdata);
        
        //var_dump($y);die;
            if($y==TRUE){

                $data["display_Data"]=$y;
                $this->load->view("results/find",$data);
            } else {
                
                redirect("/index/home");
            }
    
    }

Controller 捕获输入并成功将数据传递给模型

我的模型

function display_users($sdata){
        
        $query=$this->db->get_where('tele_data',$sdata);
        
        $result=$query->result_array();
        var_dump($result);die;
        
        if($query->result_array()==TRUE){
            
            foreach ($query->result_array() as $vals){
                    
                
                    echo $vals['SD'];
                    echo $vals['EXT'];
                    echo $vals['F_NAME'];
                    echo $vals['M_NAME'];
                    echo $vals['L_NAME'];
                    echo $vals['FACTORY'];
                    echo $vals['DEPT'];
                    echo $vals['COMPANY_NAME'];
                    echo $vals['DESIGNATION'];
                    
            }
            
             
        
        return $query->result_array();
        
        
        } else {

            return FALSE;
        }
    
    }

但是 var_dump 命令给我一个空数组作为结果。这是什么原因?我附上了一张数据库图片供您引用。但是当我在 MySql 中单独运行查询时,它给了我预期的结果. see the db image请帮我尽快解决这个问题。

最佳答案

我的 Controller

试试这个

$this->db->select('*');
        $this->db->from('tele_data');
        $this->db->where($sdata);
$query = $this->db->get();
    return $query->result_array();

关于php - 无法使用 codeigniter 从数据库中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43916380/

相关文章:

php - 如何在 PHP 中回显 count(*) AS 的结果?

caching - Redis 缓存驱动程序在 PHPUnit 中抛出异常

php - CodeIgniter 中的 Helpers 有什么优势?

php - url 管理器中的 Yiiii2 子域不起作用

php - MySQL查询不符合查询条件时返回第0行

PHP语法错误

php - 实现事件提要、消息队列或 RDBMS 或 NoSQL 数据库的最佳(可扩展、快速、可靠)方法是什么?

mysql - 我怎样才能找到一个列是否在 mysql 中是 auto_increment?

PHP:检查 $_SERVER ['HTTP_REFERER' ] 相等性的最佳方法是什么?

php - HTML 空 <a> 标签空格?