euroglas / dbaccess
EUROGLAS 数据库访问
1.0.0
2021-02-27 01:07 UTC
Requires (Dev)
- euroglas/eurorest: ^1.0
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
- 要使用的驱动程序,通常是 mysql 或 mysqli
- 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);