【问题标题】:Why can't get query from sqlsrv ci3为什么无法从 sqlsrv ci3 获取查询
【发布时间】:2022-01-20 04:53:02
【问题描述】:

//这是我的配置数据库:

'dsn'   => '',
'hostname' => '10.***.***.*',
'username' => 'username',
'password' => 'password',
'database' => 'mydb',
'dbdriver' => 'sqlsrv',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => FALSE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => FALSE

//我的模型

class Mod_login extends CI_Model{
function Aplikasi(){

    $sql = "SELECT * FROM aplikasi";
    $data = $this->db->query($sql);
    var_dump($data);
    die();
    if (!$data) {
        return false;
    } else {
        return $data;
    };
}

}

//这是我的控制器

public function index()
{
    $logged_in = $this->session->userdata('logged_in');
    if ($logged_in == TRUE) {
        redirect('dashboard');
    } else {
        $aplikasi['aplikasi'] = $this->Mod_login->Aplikasi();
        $this->load->view('admin/login_data', $aplikasi);
    }
} 

嗨,我是新手,我与 sqlsrv 的连接出现问题,我已经下载了 php 8.02 的扩展,确保我的用户名和密码无法访问表,但仍然无法得到结果,真的很郁闷

【问题讨论】:

    标签: php sql-server web codeigniter-3 sqlsrv


    【解决方案1】:

    试试这个

    class Mod_login extends CI_Model{ function Aplikasi(){
    
      $sql = "SELECT * FROM aplikasi";
      $data = $this->db->query($sql);
      var_dump($data>result_array());
      die();
      if (!$data) {
          return false;
      } else {
          return $data;
      };
    }
    

    【讨论】:

    • ->result_array();
    • 我试试 var_dump($data->result_array());但结果“消息:在 bool 上调用成员函数 result_array()”
    • $this->db->select('"SELECT * FROM aplikasi'); $r = $this->db->get()->result();
    • 用 get() 试试这个
    • 我试试这样 " $this->db->select('"SELECT * FROM aplikasi'); $r = $this->db->get()->result(); var_dump($r);死(); " 结果还是一样 "消息:在 bool 上调用成员函数 result()"
    【解决方案2】:

    如果您有“消息:在 bool 上调用成员函数 result_array()”,您可能没有加载数据库类

    阅读此Initializing the Database Class

    或者看看他展示了什么 var_dump($this->db)

    【讨论】:

    • 我只是把我的“var $table = 'aplikasi';”和 $this->load->database();到我的模型,然后尝试“var_dump($this->db)”我得到结果但它得到保护“object(CI_DB_sqlsrv_driver)#15(76){[“dbdriver”] => string(6)“ sqlsrv" ["scrollable"]=> string(8) "buffered" ["_random_keyword":protected]=> array(2) { [0]=> string(7) "NEWID()" [1]=> string (8) "RAND(%d)" } ["_quoted_identifier":protected]=> bool(true) ["return_delete_sql":protected]=> bool(false) ["reset_delete_data":protected]=> bool(false) ["qb_select":protected]=> 数组(0) { }"
    • 当你看到 $sql = "SELECT * FROM aplikasi"; $data = $this->db->query($sql); var_dump($data->result());
    • 这是否意味着我已经连接到 sqlsrv 了?
    • 否 - 如果您从数据库中获取数据
    • 我仍然收到错误消息“消息:调用 bool 上的成员函数 result()”
    猜你喜欢
    • 2020-08-13
    • 1970-01-01
    • 2021-01-17
    • 2014-12-27
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 2021-03-16
    相关资源
    最近更新 更多