restful-template / sql-manager
PHP 数据库管理库。
Requires
- php: ^7.2
This package is auto-updated.
Last update: 2024-09-05 21:54:45 UTC
README
PHP 数据库管理库。
目录
支持
如果您需要帮助,可以打开一个问题,或者通过电子邮件(contato@enriquerene.com.br)联系我们。
安装
有一些安装方式。您可以选择最适合您的安装方式。
Composer(推荐)
这种方式需要 Composer
$ composer require restful-template/sql-manager
Git
将仓库克隆到您的项目中
$ git clone https://github.com/enriquerene/sql-manager.git
ZIP
下载包并将其解压到您的项目中: 下载 ZIP
用法
在此,我们介绍了如何正确使用 SQLManager 库。以下示例中,SQLManager
实例通过关联数组接收数据库连接信息和模式
<?php $dbInfo = [ "host" => "localhost", "name" => "database_name", "charset" => "utf8", "user" => "database_user", "password" => "database_password", "prefix" => "db_", "tables" => [ "cars" => [ "prefix" => "car_", "primary" => "id", "unique" => [ "name" ], "fields" => [ "id" => "int(11)", "model" => "varchar(30)", "brand" => "varchar(30)", "year" => "char(4)" ] ] ] ];
请注意,$dbInfo[ "prefix" ]
是该数据库中的表前缀,而 $dbInfo[ "tables" ][ "cars" ][ "prefix" ]
是 cars 表中的列前缀。在上面的示例中,我们有一个名为 database_name
的数据库,通过用户 database_user
使用 database_password
作为密码进行访问。在此示例模式中,有一个名为 db_cars
的表,该表有 car_id
、car_model
、car_brand
和 car_year
列。$dbInfo[ "tables" ][ "cars" ][ "fields" ]
是一个关联数组,其中键是列名(不带前缀),值是列类型。
从数据库读取
对于读取数据,有 SQLManager::select
方法
<?php use RESTfulTemplate\SQLManager as SMan; $db = new SMan( $dbInfo ); $tableName = "cars"; $data = $db->select( $tableName ); // $data contains an array of database result rows
SQLManager::select
接受两个可选参数
<?php use RESTfulTemplate\SQLManager as SMan; $db = new SMan( $dbInfo ); $tableName = "cars"; $data = $db->select( $tableName, [ "id, year" ] ); // $data contains the two requested columns (id and year) for each row in cars table $data = $db->select( $tableName, [], [ "year" => "2010" ] ); // $data contains rows from cars table where column year has value 2010
向数据库插入
要向数据库中插入数据,我们可以使用 SQLManager::insert
方法
<?php use RESTfulTemplate\SQLManager as SMan; $body = [ "model" => "new model", "brand" => "some brand", "year" => "2020" ]; $db = new SMan( $dbInfo ); $tableName = "cars"; $result = $db->insert( $tableName, $body ); // $result is true if everything ok and false if some error happens.
可以使用 SQLManager::update
方法更新数据库中的现有行
<?php use RESTfulTemplate\SQLManager as SMan; $body = [ "model" => "correct model", ]; $where = [ "id" => 1 ]; $db = new SMan( $dbInfo ); $tableName = "cars"; $result = $db->update( $tableName, $body, $where ); // $result is true if everything ok and false if some error happens.
从数据库删除
使用 SQLManager::delete
方法从数据库中删除数据
<?php use RESTfulTemplate\SQLManager as SMan; $db = new SMan( $dbInfo ); $tableName = "cars"; $where = [ "id" => 1 ]; $result = $db->delete( $tableName, $where ); // $result is true if everything ok and false if some error happens.
警告!!! 注意,SQLManager::update
和 SQLManager::delete
中的 $where
参数是可选的。如果没有提供,这些方法将在整个表中执行。
计划
目前仅支持 MySQL。未来的版本还将支持 SQLite 和 PostgreSQL。
贡献
发起拉取请求或发送电子邮件至支持。