euroglas/dbaccess

EUROGLAS 数据库访问

1.0.0 2021-02-27 01:07 UTC

This package is auto-updated.

Last update: 2024-09-27 09:03:53 UTC


README

EUROGLAS 服务器 REST 的一部分

用于其他 EUOROGLAS 服务器 REST 模块的数据库访问

这并不是一个真正的模块,因为它没有实现 restModuleInterface 接口,因此没有暴露任何 URL。但是,它为其他模块提供了一种简单的方式与数据库交互。

文件

eurorest
├───src
│   └───dbaccess.php
├───.gitignore
├───composer.json
├───index.php
├───iniciaServidorDePruebas.php
├───servidor.ini
├───LICENSE
└───README.md

目录 src

包含实现模块工具的文件。

class authkey extends \euroglas\eurorest\auth

配置

servidor.ini

dbconfig.ini

每个连接都在其自己的组中定义,该文件可以包含任意数量的组,以便连接到不同的数据库。例如,可以定义一个用于只读操作的组,另一个用于写入操作,这样可以使权限使用更加明确(也更安全)。

[ExampleDB]
driver = mysql
server = "127.0.0.1"
schema = "myschema"
username = "DBUSER"
password = "inseguro"
port = 3306
[ExampleDB]
连接名称,我们在代码中将以此识别。
driver
要使用的驱动程序,通常是 mysqlmysqli
schema
服务器内数据库的名称
username + password
连接凭证。请确保您有必要的权限。
port
用于连接的网络端口。对于 MySql,通常是 3306

示例

连接到数据库

// Inicializa la clase, indicando el archivo de configuracion a cargar
$db = new new \euroglas\dbaccess\dbaccess("dbconfig.ini");

// Abre la conexion a la base de datos 
if( $this->dbRing->connect('ExampleDB') === false ) // Ojo, TRIPLE signo de igual
{
    // No se pudo abrir la conexión, imprime el problema
    print($this->dbRing->getLastError());
}

查询,使用预查询

预查询可以使服务器在需要重复执行时更快,因为它避免了文本的解析和分析,而只需在执行每个调用时替换值。

// Verifica si el query ya esta guardado, 
// el nombre es arbitrario, solo para diferenciarlo de otros queries
if( ! $db->queryPrepared('UnQuery') )
{
    // Prepara un query y le asigna un nombre
    $db->prepare("SELECT * FROM MiTabla WHERE Llave = :UnaLlave", 'UnQuery');
}

// Ejecuta el query, pasando el parametro
$sth = $db->execute('UnQuery',array(':UnaLlave'=>"123"));

// Obten los resultados, como un arreglo asociativo
$registros = $sth->fetchAll(\PDO::FETCH_ASSOC);

有关更多示例,请参阅列出 euroglas/dbaccess 作为依赖项的模块。