evolutionphp/database

Codeigniter 3 独立数据库(MySQL)。

1.2 2024-01-19 18:28 UTC

This package is auto-updated.

Last update: 2024-09-19 19:48:09 UTC


README

Codeigniter 3 独立数据库(MySQL)。

安装

使用Composer将Logger安装到您的项目中

composer require evolutionphp/database

配置

  1. 设置包含数据库详细信息的配置变量
$data = array(
	'hostname' => 'localhost', //Database Hostname
	'username' => 'root', //Database Username
	'password' => 'root', //Database Password
	'database' => 'mydb', //Database Name
	'table_prefix' => '', //Table prefix
	'char_set' => 'utf8mb4', //Database chart set
	'dbcollat' => 'utf8mb4_bin', //Database collation
	'port' => '', //Enter if you know the port number, otherwise leave empty
);
  1. 初始化类
$db = \EvolutionPHP\Database\Database::connect($data);

调用实例

如果您已经初始化了Database类,那么您可以调用一个实例

$db = \EvolutionPHP\Database\Database::connect();

用法示例

带有多个结果的常规查询(对象版本)

这是可选的,您可以选择保存错误日志。有关日志记录器的参数,请参阅SimpleLogger

$query = $db->query('SELECT name, title, email FROM my_table');

foreach ($query->result() as $row)
{
        echo $row->title;
        echo $row->name;
        echo $row->email;
}

echo 'Total Results: ' . $query->num_rows();

带有单个结果的常规查询

$query = $this->db->query('SELECT name FROM my_table LIMIT 1');
$row = $query->row();
echo $row->name;

常规插入

$sql = "INSERT INTO mytable (title, name) VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")";
$this->db->query($sql);
echo $this->db->affected_rows();

查询构建器插入

$data = array(
        'title' => $title,
        'name' => $name,
        'date' => $date
);

$this->db->insert('mytable', $data);  // Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')

有关更多信息,请访问CodeIgniter3 查询构建器

数据库操作

Database Forge 类包含帮助您管理数据库的方法。

初始化Forge类

$forge = new \EvolutionPHP\Database\Library\Forge($db);

创建一个表 通过关联数组创建字段。在数组中,您必须包含一个与字段数据类型相关的“type”键。例如,INT,VARCHAR,TEXT等。许多数据类型(例如VARCHAR)还需要一个“constraint”键。

$fields = array(
        'blog_id' => array(
                'type' => 'INT',
                'constraint' => 5,
                'unsigned' => TRUE,
                'auto_increment' => TRUE
        ),
        'blog_title' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'unique' => TRUE,
        ),
        'blog_author' => array(
                'type' =>'VARCHAR',
                'constraint' => '100',
                'default' => 'King of Town',
        ),
        'blog_description' => array(
                'type' => 'TEXT',
                'null' => TRUE,
        ),
);
$forge->add_field($fields);

让我们添加键

$forge->add_key('blog_id', TRUE);
// gives PRIMARY KEY `blog_id` (`blog_id`)

$forge->add_key('blog_name');
// gives KEY `blog_name` (`blog_name`)

创建一个表

$forge->create_table('table_name', TRUE);
// gives CREATE TABLE IF NOT EXISTS table_name

有关更多信息,请访问CodeIgniter3 数据库Forge类

作者

此库主要是由CodeIgniter 3开发和修改,由Andres M修改以用于独立使用。