szagot/conn

该软件包的最新版本(dev-master)没有可用的许可证信息。

数据库连接和查询类

dev-master 2024-07-06 21:52 UTC

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;