elvis-leite / recordset-database
这是一个用于管理数据库连接和构建PHP查询的简单库。
v1.2
2023-11-06 21:12 UTC
Requires
- php: >=8.0
Requires (Dev)
- phpunit/phpunit: ^10.4
README
这是一个用于管理数据库连接和构建PHP查询的简单库。
描述
这个库旨在通过Mysqli促进PHP与数据库之间的交互。它提供了数据库连接、查询执行、记录选择、插入的方法。
改进的PHP数据库操作代码 此代码示例展示了如何使用RecordSetDatabase库执行各种数据库操作。以下是代码每个部分的功能概述
-
包含库
您需要包含库的自动加载文件才能访问其功能。 -
导入RecordSetDatabase类:使用use语句导入RecordSetDatabase类以方便访问。
-
数据库凭证:在提供的变量中设置数据库凭证(主机、用户名、密码、数据库名称和字符集)。
-
选择方法:使用select方法根据条件(如where子句、order by子句和limit子句)从表中选择数据。使用DataGenerator方法遍历数据并显示结果。
-
查询方法:使用Execute方法执行自定义SQL查询,并以类似的方式检索结果。
-
日期格式化的数据生成器:使用formFld方法格式化日期值并显示结果。
-
插入数据:将新记录插入数据库并接收插入记录的ID。
-
更新数据:更新数据库中的记录并获取一个布尔值结果,指示成功或失败。
-
删除数据:从数据库中删除记录并获取一个布尔值结果,指示成功或失败。
要求 此库需要PHP 8.0或更高版本才能正确运行。
在使用代码之前,请确保您满足此要求。
用法
安装
composer require elvis-leite/recordset-database
要使用此库,只需遵循以下示例
数据库
<?php // Include the library's autoload file require 'vendor/autoload.php'; // Import the RecordSetDatabase class use RecordSetDatabase\RecordSetDatabase; // Database Credentials $DB_HOSTNAME = 'localhost'; $DB_USERNAME = 'database'; $DB_PASSWORD = 'root'; $DB_DATABASE = 'pass'; $DB_CHARSET = 'utf8'; // Creating a RecordSetDatabase instance $rs = new RecordSetDatabase(); // Generating data with the Select method $rs->Select('table_name', 'where_clause', 'order_clause', 'limit_clause'); while ($rs->DataGenerator()) { echo '<tr><td>' . $rs->fld('table_field') . '</td></tr>'; } // Generating data with a Query $rs = new RecordSetDatabase(); $sql = "select * from table_name"; $rs->Execute($sql); while ($rs->DataGenerator()) { echo '<tr><td>' . $rs->fld('table_field') . '</td></tr>'; } // Data Generator with DATE formatting $rs = new RecordSetDatabase(); $rs->Select('table_name'); while ($rs->DataGenerator()) { echo '<tr><td>' . $rs->formatFld('table_field') . '</td></tr>'; } // This would return: <tr><td>25/10/2022 às 13:01:21</td></tr> // INSERT data $rs = new RecordSetDatabase(); $data = [ 'id' => (string) $rs->setAutoCode('id', 'user'), 'name' => 'Tatys', 'mail' => 'tatiss@gmail.com', 'pass' => 's$2y$10$zKdjHmKbmJ6GVOIrApOiTO5sOpZSZkbHiscY9Kab/CnsKF.2dVt3S' ]; $rs->Insert($data, 'user'); // UPDATE $rs = new RecordSetDatabase(); $result = $rs->Update(['name' => 'Elvis Leite'], 'table_name', 'id = 1'); // DELETE $rs = new RecordSetDatabase(); $rs->Delete('user', 'id = 4'); // Get Field $rs = new RecordSet(); echo $rs->getField('id', 'user', 'id = 1'); ?>