jaschweder/sql-anywhere-client
Composer 安装命令:
composer require jaschweder/sql-anywhere-client
包简介
Client for connection with sybase
README 文档
README
Classe para conexão com banco de dados Sybase com PHP baseada na biblioteca sqlanywhere.
Classe foi baseada na Classe Nativa do PDO.
TODO:
- Testar classe com eficácia
Instalação
=================
1- Primeiro instale o modulo do sqlanywhere em seu PHP Clincando aqui!.
2- Use o composer para instalar o package ao seu projeto adicionado a linha abaixo ao require:
// ...
"require": {
"Jaschweder/SQLAnywhereClient": "dev-master"
},
// ...
Como usar
Abaixo você ve alguns exemplos de como usar a classe:
Conexão SQLAnywhereClient::__construct:
<?php require '../vendor/autoload.php'; use Jaschweder\SQLAnywhereClient; try { $dns = "uid={usuario};pwd={senha};ENG={nome-do-banco};commlinks=tcpip{host={seu-host};port={sua-porta}}"; $con = new SQLAnywhereClient( $dns ); } catch (Exception $e) { echo $e->getMessage(); } ?>
Você pode definir duas opções iniciais junto com a conexão, que são as seguintes: auto_commit e is_persistent.
auto_commitAtiva os commits automaticamente por padrão étrue;is_persistentDefine conexão no modo persistente por padrão éfalse;
<?php require '../vendor/autoload.php'; use Jaschweder\SQLAnywhereClient; try { $dns = "uid={uid};pwd={senha};ENG={};commlinks=tcpip{host={seuuhost};port={suasenha}}"; $autocommit = false; $persistent = true; $con = new SQLAnywhereClient( $dns, $autocommit, $persistent ); } catch (Exception $e) { echo $e->getMessage(); } ?>
Executar comando SQL SQLAnywhereClient::exec():
<?php $sql = "SELECT * FROM Usuarios"; $result = $con->exec( $sql ); echo "<pre>"; print_r($result->fetch()); echo "</pre>"; exit; ?>
Executar comando SQL com retorno de dados SQLAnywhereClient::query() :
Método retornar um array com várias posições
<?php $sql = "SELECT nome, email FROM Usuarios"; foreach ($con->query( $sql ) as $resultado) { print_r($resultado); } exit; ?>
Retornar uma linha SQLAnywhereQuery::fetch
Retornar a primeira linha
<?php $sql = "SELECT nome, email FROM Usuarios"; $resultado = $con->exec( $sql ); $usuario = $resultado->fetch(); print_r($usuario); exit; ?>
Formato de retorno dos dados
Podemos escolher o formato dos dados no retorno com as seguintes constantes da classe SQLAnywhereClient
<?php // Retornar em um array com idexação por numero e coluna SQLAnywhereClient::FETCH_ARRAY; // Retornar em um array com idexação por coluna SQLAnywhereClient::FETCH_ASSOC; // Formato Padrão! // Retornar em um array com idexação por coluna SQLAnywhereClient::FETCH_OBJECT; // Retornar em um array com idexação por linha de dados SQLAnywhereClient::FETCH_ROW; // Retornar em um array com idexação por colunas SQLAnywhereClient::FETCH_FIELD; ?>
Exemplo:
<?php $sql = "SELECT nome, email FROM Usuarios"; $resultado = $con->exec( $sql ); $usuario = $resultado->fetch( SQLAnywhereClient::FETCH_OBJECT ); print_r($usuario); exit; ?>
Retornar todas as linhas SQLAnywhereQuery::fetchAll
Retornar Todas as linhas encontradas
<?php $sql = "SELECT nome, email FROM Usuarios"; $resultado = $con->exec( $sql ); $usuario = $resultado->fetchAll(); print_r($usuario); exit; ?>
Como no caso assima do fetch, você pode retornar os valores em diferentes formatos utilizando as mesmas constantes, exemplo:
<?php $sql = "SELECT nome, email FROM Usuarios"; $resultado = $con->exec( $sql ); $usuario = $resultado->fetchAll( SQLAnywhereClient::FETCH_OBJECT ); print_r($usuario); exit; ?>
Números de linhas SQLAnywhereQuery::rowCount
Retornar o total de linhas encontradas
<?php $sql = "SELECT nome, email FROM Usuarios"; $resultado = $con->exec( $sql ); echo "Foram encontrados " . $resultado->rowCount() . " registros."; exit; ?>
Ou também da seguinte maneira:
<?php $sql = "SELECT nome, email FROM Usuarios"; $resultado = $con->exec( $sql ); echo "Foram encontrados " . $resultado->count() . " registros."; exit; ?>
Números de colunas SQLAnywhereQuery::fieldCount
Retornar o total de colunas encontradas
<?php $sql = "SELECT nome, email FROM Usuarios"; $resultado = $con->exec( $sql ); echo "Foram encontrados " . $resultado->fieldCount() . " colunas na tabela."; exit; ?>
Último Id inserido SQLAnywhereClient::lastInsertId()
Retorna o último o valor do último id inserido na conexão
<?php $sql = "INSERT INTO Usuarios nome, email VALUES ('Carlos', 'contato@carlosgartner.com.br')"; if ($con->exec( $sql )) { echo $con->lastInsertId(); } exit; ?>
Último Id inserido SQLAnywhereClient::lastInsertId()
Retorna o último o valor do último id inserido na conexão
<?php $sql = "INSERT INTO Usuarios nome, email VALUES ('Carlos', 'contato@carlosgartner.com.br')"; if ($con->exec( $sql )) { echo $con->lastInsertId(); } exit; ?>
Prepared Statement SQLAnywhereClient::prepare():
Preparar sql usando ?:
<?php $sql = "INSERT INTO Usuarios nome, email VALUES (?, ?)"; $stmnt = $con->prepare( $sql ); if ($stmnt->execute(array('Carlos', 'contato@carlosgartner.com.br'))) { echo $con->lastInsertId(); } exit; ?>
E usando nomes para os parametros:
<?php $sql = "INSERT INTO Usuarios nome, email VALUES (:nome, :email)"; $stmnt = $con->prepare( $sql ); if ($stmnt->execute(array( ':nome' => 'Carlos', ':email' => 'contato@carlosgartner.com.br' ))) { echo $con->lastInsertId(); } exit; ?>
Bind Param SQLAnywherePrepared::bindParam():
<?php $sql = "INSERT INTO Usuarios nome, email VALUES (:nome, :email)"; $stmnt = $con->prepare( $sql ); $nome = "Carlos A."; $email = "contato@carlosgartner.com.br"; $stmnt->bindParam(':nome', $nome); $stmnt->bindParam(':email', $email); if ($stmnt->execute()) { echo $con->lastInsertId(); } exit; ?>
统计信息
- 总下载量: 1.37k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-12-09