jaschweder / sql-anywhere-client
Client for connection with sybase
Installs: 1 357
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2020-01-06 17:27:11 UTC
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_commit
Ativa os commits automaticamente por padrão étrue
;is_persistent
Define 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; ?>