아빠의 방에서 연결되는 클래스 Sybase는 SQLanywhere 도서관에 있는 PHP 기반입니다. PHP 라이브러리 SqlAnywhere용으로 생성된 PHP를 사용하여 데이터베이스 Sybase와 연결하기 위한 클래스입니다.
개발은 PDO Native Class를 기반으로 이루어졌습니다.
할 일:
=================
1- 먼저 PHP용 sqlanywhere 모듈을 설치하십시오. 여기를 클릭하세요!.
2- 작곡가를 사용하여 require 섹션에 다음 줄을 추가하여 이 패키지를 설치합니다. require
: // ... "require": { "cagartner/SQLAnywhereClient": "dev-master" }, // ...
벨로우즈에는 이 클래스를 사용하는 방법에 대한 몇 가지 예가 있습니다.
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 ();
}
?>
두 가지 옵션을 정의한 방법은 다음 auto_commit
같이 is_persistent
되어 있습니다. 연결을 사용하여 두 개의 초기 구성 매개변수인 auto_commit
및 is_persistent
정의할 수 있습니다.
auto_commit
자동 커밋을 활성화합니다. 기본값은 true
입니다.is_persistent
지속 모드를 정의합니다. 기본값은 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()
:이 메소드는 데이터가 포함된 배열을 반환합니다.
<?php
$ sql = " SELECT name, email FROM users " ;
foreach ( $ con -> query ( $ sql ) as $ result ) {
print_r ( $ result );
}
exit ;
?>
SQLAnywhereQuery::fetch
한 줄만 검색합니다.첫 번째 행 반환
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetch ();
print_r ( $ user );
exit ;
?>
데이터가 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 ;
?>
예:
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetch ( SQLAnywhereClient:: FETCH_OBJECT );
print_r ( $ user );
exit ;
?>
SQLAnywhereQuery::fetchAll
선택한 모든 행을 반환합니다.
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetchAll ();
print_r ( $ user );
exit ;
?>
이 방법에서는 반품 형식도 선택할 수 있습니다.
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
$ user = $ result -> fetchAll ( SQLAnywhereClient:: FETCH_OBJECT );
print_r ( $ user );
exit ;
?>
SQLAnywhereQuery::rowCount
행 수를 반환합니다.
<?php
$ sql = " SELECT name, email FROM users " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> rowCount () . " itens. " ;
exit ;
?>
또는 count
별칭을 사용하면 다음과 같습니다.
<?php
$ sql = " SELECT name, email FROM user " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> count () . " itens. " ;
exit ;
?>
SQLAnywhereQuery::fieldCount
필드의 합계를 반환합니다.
<?php
$ sql = " SELECT name, email FROM user " ;
$ result = $ con -> exec ( $ sql );
echo " We find " . $ result -> fieldCount () . " fields. " ;
exit ;
?>
SQLAnywhereClient::lastInsertId()
마지막으로 삽입된 ID를 반환합니다.
<?php
$ sql = " INSERT INTO user name, email VALUES ('Carlos', '[email protected]') " ;
if ( $ con -> exec ( $ sql )) {
echo $ con -> lastInsertId ();
}
exit ;
?>
SQLAnywhereClient::prepare()
: ?
로 준비된 진술서 :
<?php
$ sql = " INSERT INTO users name, email VALUES (?, ?) " ;
$ stmnt = $ con -> prepare ( $ sql );
if ( $ stmnt -> execute ( array ( ' Carlos ' , ' [email protected] ' ))) {
echo $ con -> lastInsertId ();
}
exit ;
?>
그리고 이 매개변수 이름은 다음과 같습니다.
<?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 ;
?>