franpc / get-bd
Mini libreria básica para CRUD y gestión de consultas a la base de dato
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-14 19:36:58 UTC
README
Mini librería Básica para CRUD y Gestión de Consultas a la Base de Dato, y Manejos de File.
- 版权所有 FRANCISCO CAMPOS
- 版本:BETA
- 许可证:MIT
- 联系方式:camqui2011@gmail.com
- https://github.com/FranciscoCampos/getBd.git
- 需求:(php >=5.3.0,mysql 5.0+,postgres 9.1.1+)
- 项目网站 https://franciscocampos.github.io/getBd
支持以下内容
- Mysql
- Mysqli
- Postgres
- 文件
库结构
-Src File.php GetbdM.php GetbdMi.php GetbdP.php -Config Connect Mysql.php Mysqly.php Postgre.php Files ConfigFile.php Base.php autocarga.php start.php - Documentación.md
库描述
Src: 包含处理数据库查询所需的所有类。
Config: 包含数据库连接的配置变量,这里配置连接变量:root、localhost、password、database,以及文件参数如:大小、允许的格式等。
安装
通过Composer安装
composer require franpc/get-bd dev-beta
使用
require 'vendor/autoload.php'
通过下载安装
https://github.com/FranciscoCampos/getBd.git
使用
require 'path/getbd/start.php
功能
配置连接变量。
Config/Base.php
初始化配置数组中使用的驱动参数。
MySQL 驱动
// DRIVER MYSQL 'mysql' => array( 'host' => 'host', 'database' => 'database', 'user' => 'username', 'password' => 'password' ),
** PostgreSQL 驱动 **
// DRIVER POSTGRES 'postgre' => array( 'host' => 'host', 'database' => 'database', 'user' => 'postusername', 'password' => 'password' ),
** Mysqli 驱动 **
// DRIVER MYSQLI 'mysqli' => array( 'host' => 'host', 'database' => 'database', 'user' => 'username', 'password' =>'password' ),
GetBd MySQL
要使用GetBd与MySQL
<?php use Src\GetbdM; $obj = new GetbdM(); ?>
GetBd MySQL 插入
save( sql , opcional)
此方法接收两个参数,SQL查询和可选配置。
- sql: 要插入的SQL查询,注意:变量可以有不同的名称!
返回值
- true: 正确插入记录。
- false: 未插入记录。
使用GetBd可以在一行代码中验证记录是否插入。
GetBd MySQL 插入验证
这可以通过向save()方法的以下方式添加额外参数来实现。
save( $sql , array('tabla' , 'campos' , 'valor') )
附加值是一个包含验证项的数组。
- tabla : 验证记录的表名。
- campo: 作为条件的参考字段。
- valor: 条件验证的值。
返回值
- NULL: 如果存在与验证数组匹配的记录,则不执行SQL插入。
- true: 未找到与验证类似的记录,正确执行插入。
注意:对于更复杂的查询,我们使用check()方法。示例
check( [ 'tabla' , 'campos' , 'valor'] )
check( 'SQL' )
示例:执行带验证的INSERT
<?php use Src\GetbdM; $obj = new GetbdM; $sql = "INSERT INTO tabla (campos) Values (valores)"; //verificador del registro $con->save($sql, ['tabla' , 'campo' , 'valor']); if(!is_null($con)) { echo "Registro Insertado"; } else { echo "Registro No Insertado"; }
//Sin verificar registro $con->save($sql); if(!$con) { echo "Registro Insertado"; } else { echo "Registro No Insertado"; } ?>
GetBd MySQL SELECT
为此,我们有以下方法
find(参数)
复杂查询
- 接收一个参数,即SQL查询
- 返回 True: 如果有记录
- 返回 False: 如果没有记录
findAll(表名)
简单查询
- 接收一个参数,即数据库表名
- 返回 True: 如果有记录
- 返回 False: 如果没有记录
显示数据
show()
- 返回包含数据的关联数组
showObj()
- 返回包含数据的对象
showObjson()
- 返回包含数据的JSON对象,适合REST API
对数据库进行SELECT查询
find( sql_query ) show()
<?php use Src\GetbdM; $obj = new GetbdM; $sql = "SELECT * FROM tabla "; $datos = $obj->find($sql)->show(); //mostrando los registros foreach ($datos as $dato) { echo $dato['campo'] . "<br>"; } ?>
findAll( parámetro ) showObj()
<?php use Src\GetbdM; $obj = new GetbdM(); $datos = $obj->findAll("tabla")->showObj(); //mostrando los registros foreach ($datos as $dato) { echo $dato->campo . "<br>"; } ?>
<?php use Src\GetbdM; $obj = new GetbdM(); $datos = $obj->findAll("tabla")->showObjson(); //mostrando los registros en formato JSON foreach ($datos as $dato) { echo $dato.campo "<br>"; } ?>
GetBd 单独SELECT
为此,我们有以下方法
findOne(['表名', '字段', '值'])
- 接收一个包含3个参数的数组
- 返回 True: 如果有记录
- 返回 False: 如果没有记录
- 返回一个找到的记录
<?php use Src\GetbdM; $obj = new GetbdM; $datos = $obj->findOne(['table' , 'id', 'valor']); //mostrando el registro print_r($dato ); ?>
GetBd Mysql 更新
为此,我们有以下方法
update( sql , 'string' )
- 接收两个参数,分别是:SQL查询和字符串'update',以避免查询中的错误。
- 返回 True:已更新记录
- 返回 False:未更新记录
- 字符串:必须等于'update'
<?php use Src\GetbdM; $obj = new GetbdM; $sql = "UPDATE tabla SET campo = 'valor' where condición"; if ( !$con->update($sql , 'update')) { echo "No! se actualizÓ el registro"; } else { echo "Registro actualizado"; } ?>
GetBd Mysql 删除
为此,我们有以下方法
remove(sql , 'string' )
- 接收两个参数:SQL查询和字符串'delete',以避免查询中的错误。
- 返回 True:已删除记录
- 返回 False:未删除记录
- 字符串:必须等于'delete'。
<?php use Src\GetbdM; $obj = new GetbdM; $sql = "DELETE FROM tabla WHERE condición"; if($obj->remove($sql , 'delete')) { echo "Registro eliminado"; } else { echo "No! se elimino el registros"; } ?>
GetBd SQL注入
使用Valid()
方法,接收要验证的变量
返回安全查询
GetbdM::Valid( $_POST['campos'])
<?php use Src\GetbdM; $var = GetbdM::Valid( $_POST['campos']); $sql = "SELECT * FROM tabla WHERE campo = ( $var )"; $con->save( $sql ); // todas las demas opciones ?>
GetBd Postgres 和 Mysqli
使用 getBd 与 Postgres 或 Mysqli 的方法与 Mysql 相同,我们拥有相同的方法。只需更改 类的实例。
为了使用 getBd 与 Mysqli
<?php use Src\GetbdMi; $obj = new GetbdMi(); ?>
** 为了使用 getBd 与 Postgres:**
<?php use Src\GetbdP; $obj = new GetbdP(); ?>
我们有相同的方法
save(参数)
check(数组)
find(参数)
findAll(参数)
findOne(数组)
show()
showObj()
showObjson()
update(参数, '字符串')
remove(参数, '字符串')
Valid(参数)
注意
您可以在上面查看方法的示例。
GetBd 文件
使用 getBd 上传文件或文件到服务器非常容易。为此,我们有类File()
,它包含以下方法
类File()
可以配置某些参数,为了这样做,我们位于以下路径
Config/Base.php
// GETBD 文件或文件的配置
// EXTENCION DEL FILE PERMITIDO 'exten' => array( 'jpg' => 'image/jpeg', 'png' => 'image/png', 'word' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'pdf' => 'application/pdf' ),
// TAMAÑO DEL FILE PERMITIDO 'sizes' => array( 's' => 4096000 , //500kb 'm' => 819200 , //800 Kb 'l' => 1048576 , //1024 Kb 'xl' => 6291456, //6144 Kb ),
注意
您可以在 FILE 配置数组的相应字段中添加更多值。
使用 upFile 方法上传 FILE
upFile( file , directorio)
- 接收第一个参数:要上传的文件。
- 接收第二个参数:保存文件的文件夹名称。
- 返回 数组:包含2个值,第一个是true,第二个是保存文件的最终路径。
- 返回 False:如果文件未保存。
返回的数组
array respuesta = [ 'valid' => true , 'ruta'=> 'ruta del archivo' ];
使用示例
index.html
<!DOCTYPE html> <html> <head> </head> <body> <form action="file.php" method="post" enctype="multipart/form-data"> <input type="file" name="archivo" ></input><br> <input type="submit" value="Subir archivo"></input> </form> </body> </html>
demo.php
<?php use Src\File; $file = $_FILES['archivo'];//reciben el archivo $archivo = new File; //instancia de la clase //usamos el método upFile(nombre del archivo , nombre de la carpeta) $var = $archivo->upFile( $file , "nombre de la carpeta" ); if($var[0] == true){ echo "Archivo subido"; //ejemplo mostrando el archivo subido echo" <img src='$var[1]' /> "; }else{ echo "Error al subir archivo"; } ?>
GetBd 处理多个文件
为此,我们有类File()
,它包含以下方法
upFiles(files, directorio)
- 接收第一个参数:要上传的文件。
- 接收第二个参数:保存文件的文件夹名称。
- 返回 数组:包含2个值,第一个是true,第二个是保存文件的最终路径。
- 返回 数组:如果文件未保存,则包含错误。
array respuesta = { [0] => 'true', [0] => 'ruta del archivo guardado1' [1] => 'true', [1] => 'ruta del archivo guardado2' }
使用示例
index.html
<!DOCTYPE html> <html> <head> </head> <body> <form action="file.php" method="post" enctype="multipart/form-data"> <input type="file" name="archivo[]" multiple="multiple" ></input><br> <input type="submit" value="Subir archivo"></input> </form> </body> </html>
demo.php
<?php use Src\File; $file = $_FILES['archivo'];//reciben el archivo $archivo = new File; //instancia de la clase //usamos el método upFiles(nombre del archivo , nombre de la carpeta) //para la subida de varios archivos al servidor. $var = $archivo->upFiles($file , "carpeta a guardar" ); echo "<pre>"; print_r($var);//mostrando el resultado de la subida. echo "</pre>"; ?>
GetBd 下载文件
dowFile( ruta_file )
示例:下载文件
<?php use Src\File; $archivo = new File; //instancia de la clase $archivo->dowFile( " ruta fina del file " ); echo "Archivo Bajado..."; ?>
** 将文件压缩为 Zip 格式 **
zipFile( "ruta final del file" )
此方法返回 .zip 文件的最终路径。
** 将文件压缩为 Zip 格式并立即下载 **
dowFile( "ruta final del file" , true )