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::fetch
Retornar 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::fetchAll
Retornar 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::rowCount
Retornar 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::fieldCount
Retorne 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 ;
?>