franpc/get-bd

Mini libreria básica para CRUD y gestión de consultas a la base de dato

dev-beta 2016-06-02 18:39 UTC

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.

支持以下内容

  • 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 )