szagot / conn
该软件包的最新版本(dev-master)没有可用的许可证信息。
数据库连接和查询类
dev-master
2024-07-06 21:52 UTC
Requires
- php: >=5.4.0
- ext-pdo: *
This package is auto-updated.
Last update: 2024-09-06 22:09:52 UTC
README
已弃用! 请使用 szagot/helper
用于MySQL数据库连接和查询的类
- 连接:使用PDO执行数据库连接
- 查询:使用最佳实践执行数据库查询以防止SQL注入
- 创建表:用于创建表的辅助类(目前处于测试阶段)
使用示例
use Sz\Conn;
连接
// Exemplo de conexão local
$conn = new Connection( 'BD' );
// Exemplo de conexão externa
$conn = new Connection( 'BD', 'host', 'user', 'pass' );
// Obs: Para usar PostgreSQL, faça
$conn = new Connection( 'BD', 'host', 'user', 'pass', true );
查询
// Seta a conexão para o script
Query::setConn( $conn );
// Não conseguiu fazer o insert?
if( ! Query::exec('INSERT tabela (campo1, campo2) VALUES (:campo1, :campo2)', ['campo1' => 'valor','campo2' => 25.99]))
// Mostra o log de execução completo
var_dump( Query::getLog() );
// Pega o último ID inserido
$id = Query::getLog(true)['lastId'];
// Efetua uma consulta
$consulta = Query('SELECT * FROM tabela');
foreach( $consulta as $linha )
echo $linha['campo'];
创建表
$tabela = new CreateTable( $conn );
// Seta a tabela a ser criada.
if( ! $tabela->setTable( 'tabela' ); )
die('Tabela já existe');
// Seta os campos
$tabela->addField( 'campo1', CreateTable::TYPE_CHAR, 50 );
$tabela->addField( 'campo2', CreateTable::TYPE_DECIMAL, '10,2', 9999.99 );
// Seta a chave primária, informando que NÃO é AUTO_INCREMENT
$tabela->setPrimaryKey( 'campo1', false );
// Cria a tabela com collate UTF-8 e engine InnoDB
$retorno = $tabela->create();
// Deu erro?
if( $retorno !== true )
echo $retorno;