Classe de connexion avec le banc de données Sybase avec PHP basé sur la bibliothèque sqlanywhere. Classe de connexion à la base de données Sybase avec PHP, créée pour la bibliothèque PHP SqlAnywhere.
Le développement était basé sur PDO Native Class.
FAIRE:
=================
1- Installez d'abord le module sqlanywhere pour PHP Cliquez ici !.
2- Utilisez composer pour installer ce package en ajoutant les lignes ci-dessous dans la section require require
: // ... "require": { "cagartner/SQLAnywhereClient": "dev-master" }, // ...
Vous trouverez ci-dessous quelques exemples d'utilisation de cette 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 ();
}
?>
Vous pouvez définir deux options lancées avec la connexion, qui sont comme suit : auto_commit
et is_persistent
. Vous pouvez définir deux paramètres de configuration initiale avec la connexion : auto_commit
et is_persistent
.
auto_commit
Activer la validation automatique, la valeur par défaut est true
;is_persistent
Définir le mode persistant, la valeur par défaut est 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()
:Cette méthode renvoie un tableau avec les données
<?php
$ sql = " SELECT name, email FROM users " ;
foreach ( $ con -> query ( $ sql ) as $ result ) {
print_r ( $ result );
}
exit ;
?>
SQLAnywhereQuery::fetch
Retourner la première ligne
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetch ();
print_r ( $ user );
exit ;
?>
Vous pouvez choisir le format dans lequel vos données sont récupérées 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 ;
?>
Exemple:
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetch ( SQLAnywhereClient:: FETCH_OBJECT );
print_r ( $ user );
exit ;
?>
SQLAnywhereQuery::fetchAll
Renvoie toutes les lignes sélectionnées
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetchAll ();
print_r ( $ user );
exit ;
?>
Dans cette méthode, vous pouvez également choisir le format de retour :
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetchAll ( SQLAnywhereClient:: FETCH_OBJECT );
print_r ( $ user );
exit ;
?>
SQLAnywhereQuery::rowCount
Renvoie le nombre de lignes
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> rowCount () . " itens. " ;
exit ;
?>
Ou avec l'alias count
:
<?php
$ sql = " SELECT name, email FROM user " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> count () . " itens. " ;
exit ;
?>
SQLAnywhereQuery::fieldCount
Renvoie le total des champs
<?php
$ sql = " SELECT name, email FROM user " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> fieldCount () . " fields. " ;
exit ;
?>
SQLAnywhereClient::lastInsertId()
Renvoie le dernier identifiant inséré
<?php
$ sql = " INSERT INTO user name, email VALUES ('Carlos', '[email protected]') " ;
if ( $ con -> exec ( $ sql )) {
echo $ con -> lastInsertId ();
}
exit ;
?>
SQLAnywhereClient::prepare()
: Déclaration préparée avec ?
:
<?php
$ sql = " INSERT INTO users name, email VALUES (?, ?) " ;
$ stmnt = $ con -> prepare ( $ sql );
if ( $ stmnt -> execute ( array ( ' Carlos ' , ' [email protected] ' ))) {
echo $ con -> lastInsertId ();
}
exit ;
?>
Et ces noms de paramètres :
<?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 ;
?>