evolutionphp / database
Codeigniter 3 独立数据库(MySQL)。
1.2
2024-01-19 18:28 UTC
Requires
- php: >=8.2
- ext-ctype: *
- ext-mysqli: *
This package is auto-updated.
Last update: 2024-09-19 19:48:09 UTC
README
Codeigniter 3 独立数据库(MySQL)。
安装
使用Composer将Logger安装到您的项目中
composer require evolutionphp/database
配置
- 设置包含数据库详细信息的配置变量
$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 );
- 初始化类
$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修改以用于独立使用。