segaja/database
该包已弃用且不再维护。未建议替代包。
围绕 doctrine/dbal 的包装器
1.0.0
2019-02-21 22:55 UTC
Requires
- php: >=7.3.2
- ext-pdo: *
- doctrine/dbal: 2.*
This package is auto-updated.
Last update: 2023-01-20 10:40:43 UTC
README
安装
composer require segaja/database
用法
<?php
// example database config
$databaseConfig = [
'charset' => 'utf8',
'dbname' => 'database_name',
'driver' => 'pdo_mysql',
'driverOptions' => [
\PDO::ATTR_CASE => \PDO::CASE_NATURAL,
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
\PDO::ATTR_ORACLE_NULLS => \PDO::NULL_TO_STRING,
\PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'",
],
'host' => 'database_hostname',
'password' => 'database_password',
'user' => 'database_user',
];
$dbalConnection = Doctrine\DBAL\DriverManager::getConnection(
$databaseConfig,
new Doctrine\DBAL\Configuration()
)
$database = new \Segaja\Database($dbalConnection);
方法
insertId() : int
返回数据库连接的最后一个插入ID。
actionQuery(string $sql, array $params, array $types) : int
执行给定的SQL查询($sql)并使用给定的参数和类型。参数和类型需要有相同数量的条目。调用传递给 \Doctrine\DBAL\Connection
的 executeUpdate()
函数。该方法返回受影响的行数。
multieSelectQuery(string $sql, array $params, array $types) : array
此方法代理 \Doctrine\DBAL\Connection::executeQuery()
方法。执行该方法后,在返回的语句上调用 fetchAll()
方法,并返回该调用的结果。
singleSelectQuery(string $sql, array $params, array $types) : array
此方法与 multiSelectQueriy()
方法非常相似,但它在查询($sql)的末尾添加了 " LIMIT "(如果不存在)。一旦调用 fetchAll()
方法,如果查询没有产生任何结果,则此方法返回 `null`,或者如果结果集不为空,则返回结果集的第一条记录。