Klasse für die Verbindung mit der Sybase-Datenbank und der PHP-basierten Datenbank sqlanywhere. Klasse für die Verbindung mit der Datenbank Sybase mit PHP, erstellt für die PHP-Bibliothek SqlAnywhere.
Die Entwicklung basierte auf der PDO Native Class.
TODO:
=================
1- Installieren Sie zuerst das sqlanywhere-Modul für PHP. Klicken Sie hier!.
2- Installieren Sie dieses Paket mit Composer und fügen Sie im Abschnitt „require“ die folgenden Zeilen hinzu require
: // ... "require": { "cagartner/SQLAnywhereClient": "dev-master" }, // ...
Nachfolgend finden Sie einige Beispiele für die Verwendung dieser Klasse.
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 ();
}
?>
Sie können gemeinsam mit der Verbindung zwei Optionen definieren, die wie folgt lauten: auto_commit
und is_persistent
. Sie können zwei anfängliche Konfigurationsparameter mit der Verbindung definieren: auto_commit
und is_persistent
.
auto_commit
Automatisches Commit aktivieren, Standardwert ist true
;is_persistent
Definieren Sie den persistenten Modus. Der Standardwert ist 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()
:Diese Methode gibt ein Array mit den Daten zurück
<?php
$ sql = " SELECT name, email FROM users " ;
foreach ( $ con -> query ( $ sql ) as $ result ) {
print_r ( $ result );
}
exit ;
?>
SQLAnywhereQuery::fetch
Geben Sie die erste Zeile zurück
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetch ();
print_r ( $ user );
exit ;
?>
Sie können auswählen, in welchem Format Ihre Daten von SQLAnywhereClient
abgerufen werden sollen
<?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 ;
?>
Beispiel:
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetch ( SQLAnywhereClient:: FETCH_OBJECT );
print_r ( $ user );
exit ;
?>
SQLAnywhereQuery::fetchAll
Gibt alle ausgewählten Zeilen zurück
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetchAll ();
print_r ( $ user );
exit ;
?>
Bei dieser Methode können Sie auch das Rückgabeformat auswählen:
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetchAll ( SQLAnywhereClient:: FETCH_OBJECT );
print_r ( $ user );
exit ;
?>
SQLAnywhereQuery::rowCount
Gibt die Anzahl der Zeilen zurück
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> rowCount () . " itens. " ;
exit ;
?>
Oder mit count
Alias:
<?php
$ sql = " SELECT name, email FROM user " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> count () . " itens. " ;
exit ;
?>
SQLAnywhereQuery::fieldCount
Gibt die Gesamtzahl der Felder zurück
<?php
$ sql = " SELECT name, email FROM user " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> fieldCount () . " fields. " ;
exit ;
?>
SQLAnywhereClient::lastInsertId()
Gibt die zuletzt eingefügte ID zurück
<?php
$ sql = " INSERT INTO user name, email VALUES ('Carlos', '[email protected]') " ;
if ( $ con -> exec ( $ sql )) {
echo $ con -> lastInsertId ();
}
exit ;
?>
SQLAnywhereClient::prepare()
: Vorbereitete Erklärung mit ?
:
<?php
$ sql = " INSERT INTO users name, email VALUES (?, ?) " ;
$ stmnt = $ con -> prepare ( $ sql );
if ( $ stmnt -> execute ( array ( ' Carlos ' , ' [email protected] ' ))) {
echo $ con -> lastInsertId ();
}
exit ;
?>
Und diese Parameternamen:
<?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 ;
?>