Classe para conexão com banco de dados Sybase com PHP baseada na biblioteca sqlanywhere. Classe para conexão com banco de dados Sybase com PHP, criada para a biblioteca PHP SqlAnywhere.
O desenvolvimento foi baseado na classe PDO Native.
PENDÊNCIA:
=================
1- Primeiro instale o módulo sqlanywhere para PHP Clique Aqui!.
2- Use o compositor para instalar este pacote adicionando as linhas abaixo na seção require require : // ... "require": { "cagartner/SQLAnywhereClient": "dev-master" }, // ...
Abaixo estão alguns exemplos de como usar esta classe.
SQLAnywhereClient::__construct : <?php
require ' ../vendor/autoload.php ' ;
use Cagartner SQLAnywhereClient ;
try {
$ dns = " uid={user};pwd={password};ENG={database-name};commlinks=tcpip{host={host};port={port}} " ;
$ 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 . Você pode definir dois parâmetros de configuração iniciais com a conexão: auto_commit e is_persistent .
auto_commit Habilita commit automático, o padrão é true ;is_persistent Define o modo persistente, o padrão é false ; <?php
require ' ../vendor/autoload.php ' ;
use Cagartner SQLAnywhereClient ;
try {
$ dns = " uid={uid};pwd={password};ENG={};commlinks=tcpip{host={host};port={password}} " ;
$ autocommit = false ;
$ persistent = true ;
$ con = new SQLAnywhereClient ( $ dns , $ autocommit , $ persistent );
} catch ( Exception $ e ) {
echo $ e -> getMessage ();
}
?>SQLAnywhereClient::exec() : <?php
$ sql = " SELECT * FROM users " ;
$ result = $ con -> exec ( $ sql );
echo " <pre> " ;
print_r ( $ result -> fetch ());
echo " </pre> " ;
exit ;
?>SQLAnywhereClient::query() :Este método retorna um array com os dados
<?php
$ sql = " SELECT name, email FROM users " ;
foreach ( $ con -> query ( $ sql ) as $ result ) {
print_r ( $ result );
}
exit ;
?>SQLAnywhereQuery::fetchRetornar a primeira linha
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetch ();
print_r ( $ user );
exit ;
?> Você pode escolher como é o formato que seus dados serão recuperados 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 name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetch ( SQLAnywhereClient:: FETCH_OBJECT );
print_r ( $ user );
exit ;
?>SQLAnywhereQuery::fetchAllRetornar todas as linhas selecionadas
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetchAll ();
print_r ( $ user );
exit ;
?>Neste método você também pode escolher o formato de retorno:
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetchAll ( SQLAnywhereClient:: FETCH_OBJECT );
print_r ( $ user );
exit ;
?>SQLAnywhereQuery::rowCountRetornar a contagem de linhas
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> rowCount () . " itens. " ;
exit ;
?> Ou com alias count :
<?php
$ sql = " SELECT name, email FROM user " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> count () . " itens. " ;
exit ;
?>SQLAnywhereQuery::fieldCountRetorne o total de campos
<?php
$ sql = " SELECT name, email FROM user " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> fieldCount () . " fields. " ;
exit ;
?>SQLAnywhereClient::lastInsertId()Retorne o último ID inserido
<?php
$ sql = " INSERT INTO user name, email VALUES ('Carlos', '[email protected]') " ;
if ( $ con -> exec ( $ sql )) {
echo $ con -> lastInsertId ();
}
exit ;
?>SQLAnywhereClient::prepare() : Declaração preparada com ? :
<?php
$ sql = " INSERT INTO users name, email VALUES (?, ?) " ;
$ stmnt = $ con -> prepare ( $ sql );
if ( $ stmnt -> execute ( array ( ' Carlos ' , ' [email protected] ' ))) {
echo $ con -> lastInsertId ();
}
exit ;
?>E esses nomes de parâmetros:
<?php
$ sql = " INSERT INTO users name, email VALUES (:name, :email) " ;
$ stmnt = $ con -> prepare ( $ sql );
if ( $ stmnt -> execute ( array (
' :name ' => ' Carlos ' ,
' :email ' => ' [email protected] '
))) {
echo $ con -> lastInsertId ();
}
exit ;
?>SQLAnywherePrepared::bindParam() : <?php
$ sql = " INSERT INTO users name, email VALUES (:name, :email) " ;
$ stmnt = $ con -> prepare ( $ sql );
$ name = " Carlos A. " ;
$ email = " [email protected] " ;
$ stmnt -> bindParam ( ' :name ' , $ name );
$ stmnt -> bindParam ( ' :email ' , $ email );
if ( $ stmnt -> execute ()) {
echo $ con -> lastInsertId ();
}
exit ;
?>