【问题标题】:how to echo mysql select result codeigniter如何回显mysql选择结果codeigniter
【发布时间】:2017-02-28 04:43:05
【问题描述】:

我在codeigniter中写了下面的mysql查询

  $query = $this->db->query("SELECT count(`leave_status`) FROM `teacher_attendance` WHERE `teacher_id`='20' AND `leave_status`='6'");
    if($query->num_rows() > 0){
          $result = $query->row_array();
          print_r($result);
          echo $result;
    }               

回显 $result;它什么也不打印; 与 print_r($result); Array ( [count(leave_status)] => 7 ) 这样的数组

但是如何让这个值 7 回显呢?

【问题讨论】:

    标签: mysql codeigniter


    【解决方案1】:

    $result 是一个associative array 你不能直接echo 它。使用$result['leave_status'] 访问leave_status 的值。如下所示。

    $query = $this->db->query("SELECT count(`leave_status`) AS leave_status FROM `teacher_attendance` WHERE `teacher_id`='20' AND `leave_status`='6'");
        if($query->num_rows() > 0){
              $result = $query->row_array();
              //print_r($result);
              $total = $result['leave_status'];
              echo $total ;//prints 7
        }  
    

    【讨论】:

    • 这就是答案
    【解决方案2】:

    您可以使用 row() 来回显单行结果

    $query = $this->db->query("SELECT count(`leave_status`) as leaveCount FROM `teacher_attendance` WHERE `teacher_id`='20' AND `leave_status`='6'");
    if($query->num_rows() > 0){
          echo $query->row()->leaveCount;
    }   
    

    更多信息请参考this link

    【讨论】:

      【解决方案3】:

      试试这个

      $query = $this->db->query("SELECT count(`leave_status`) as count FROM `teacher_attendance` WHERE `teacher_id`='20' AND `leave_status`='6'");
      if($query->num_rows() > 0){
            $result = $query->row_array();
            print_r($result);
            echo $result['count'];
      }   
      

      【讨论】:

        【解决方案4】:

        在您的模型中:return $result

        在控制器中:$data = $this->your_model->your_function();

        在视图中:echo $leave_status

        【讨论】:

          【解决方案5】:

          使用foreach

          $query = $this->db->query("SELECT count(`leave_status`) as count FROM `teacher_attendance` WHERE `teacher_id`='20' AND `leave_status`='6'");
          
          if($query->num_rows() > 0){
             foreach ($query->result_array() as $row) {
                echo $row['count'];
             }
          }
          

          【讨论】:

          • 我试过 echo $row->leave_status;它什么也没打印
          • 在查询中使用别名。前任。 "SELECT count(leave_status) as count" 然后 "echo $row->count;"
          • 但是如果我 print_r($row);给这个 stdClass 对象 ( [count(leave_status)] => 7 )
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-01-07
          • 1970-01-01
          • 2015-09-01
          • 1970-01-01
          • 2011-02-27
          • 1970-01-01
          • 2017-01-11
          相关资源
          最近更新 更多