我如何在 codeigniter 中使用已连接数据库的数据库连接?

how can i use database connection of the already connected database in codeigniter?

我已经在配置文件夹 database.php 文件中连接了数据库。 是否有任何变量可以简单地引用该 MySQLi 连接,以便我可以使用该连接并进行手动插入,如-

mysqli_query($alreadyconn, "insert into table ...");

insert() in Codeigniter.com

我知道如何在 codeigniter 中插入,但我需要上述特定案例。在这里我无法重新连接该数据库并使用变量。

非常感谢任何帮助!

要在数据库中插入数据,您必须不需要代码点火器中的 MySQL 功能。 你应该使用

     $this->db->insert() 

在数据库中存储数据的函数。 如需更多帮助,请访问 https://www.formget.com/insert-data-into-database-using-codeigniter/ 谢谢

使用 $this->db 引用您的数据库连接

$query = $this->db->query("
        YOUR QUERY HERE
");

好的。看来你知道 database.php。会多了解一些

$db['default'] = array(
    'dsn'   => '',
    'hostname' => 'localhost', # host
    'username' => '', # Username
    'password' => '', # password
    'database' => '', # Databse name
    'dbdriver' => 'mysqli', # this can be MySQL or MySQLi

Note: Recommend to use MySQLi as db driver.


如何连接数据库??

可以通过三种方式存档

  1. 全球 - (路径 - application/config/autoload.php

    $autoload['libraries'] = array('database');
    
  2. 仅class内。

    class ClassName extends CI_Model 
    {
        public function  __construct()
        {
            parent::__construct();
            $this->load->database();
        } 
    }
    

    Can use in all the methods added within this class

  3. 仅限方法。 (主要仅在控制器上)

    class ClassName extends CI_Controller {
    
        public function  __construct()
        {
            parent::__construct();
        }
    
        public function index()
        {
            $this->load->database();
        }
    

    Can use inside the class only


什么是查询生成器 (3.0+) 或活动记录 (3.0-) ??

此模式允许使用最少的脚本在数据库中检索、插入和更新信息。在某些情况下,执行数据库操作只需要一两行代码。 CodeIgniter 不要求每个数据库 table 都是它自己的 class 文件。相反,它提供了一个更简化的界面。


如何使用数据库查询 &(查询生成器或活动记录)??

首先在autoload.php中加载数据库(个人推荐)。
无论您在模型还是控制器中,只需使用 $this->db 即可打开与您的数据库的连接。
有了它,您可以添加 Query Builder 方法,就像 codeigniter docs 中提到的那样。如果你喜欢使用传统的SQL方法,你可以随意使用query()(这是我最喜欢的)。

例子

$this->db->query("SELECT * FROM user WHERE name = 'Sparatn' AND ... OR... ");

但这还不足以产生有意义的数据。所以你也必须按照这些步骤

$query = $this->db->query("SELECT * FROM user WHERE name = 'Sparatn' "); # 1
$result  = $query->result_array(); # 2
return $result; #3

In #1 assign the database row data to an variable.
In #2 Convert the #1 to objective array(result_array objective array represent by this).
In #3 return the result to controller.

None真的回答了问题。问题很明确:如何回收 codeigniter 数据库连接 以与本机 mysqli_query 函数一起使用,而无需再次使用 mysqli_connect。 上面的赞成答案对发行人的问题没有任何帮助。

在您的 $alreadyconn 变量中使用 $this->db->conn_id 作为数据库连接引用。