<?phpphp
/**html
* 因爲公司的須要,使用php+oracle開發項目,oracle由於有專門人員開發設計,咱們只需遠程調用mysql
*因而乎遇到了蛋疼的問題就是開啓oracle擴展的問題,雖然你在php.ini文件中打開了extension=php_oci8.dllsql
*單身在phpinfo中仍然看不到oracle擴展,這樣oracle的操做方法就不能用,數據庫
*因而就要去oracle官方網上下載一個文件包 instantclient-basic-nt-11.2.0.3.0.zip,oracle
*解壓到任意地方,而後將D:\instantclient這個地址配置到環境變量裏面這樣*oracle的擴展就會開啓,天然方法均可以使用了,就像用mysql同樣了fetch
*固然數據庫鏈接類仍是須要的因而我就寫了一個php鏈接oracle的類以下this
*/spa
class oracle{設計
public $user; //用戶
public $pass; //密碼
public $dbname;//數據庫
public function __construct($user='lms',$pass='lms',$dbname='192.168.2.77ot'){
$this->user=$user;
$this->pass=$pass;
$this->dbname=$dbname;
}
//鏈接數據庫
function conn(){
$link = oci_connect($this->user,$this->pass,$this->dbname);
return $link;
}
public function oracle_fetch_all($sql,$status='1'){
$link = $this->conn();
if(!$status){
echo $sql."<br/>";
}
$stmt = oci_parse($link,$sql);
$r = oci_execute($stmt);
if (!$r ){
$this->oracle_error($stmt);
}
while(!!$row = oci_fetch_array($stmt,OCI_BOTH)){
$data[] = $row;
}
return $data;
}
public function oracle_fetch_row($sql,$status='1'){
$link = $this->conn();
if(!$status){
echo $sql."<br/>";
}
$stid = oci_parse($link, $sql);
$r = oci_execute($stid);
if (!$r){
$this->oracle_error($stid);
}
$data = oci_fetch_assoc($stid);
return $data;
}
public function oracle_query($sql){
$link = $this->conn();
$stmt = oci_parse($link,$sql);
$r = oci_execute($stmt,OCI_DEFAULT);
if (!$r ){
$this->oracle_error($stid);
}
return $r;
}
public function oracle_commit(){
$link = $this->conn();
$committed = oci_commit($link);
return $committed;
}
public function oracle_error($stid){
if (!empty($stid)){
$e = oci_error($stid);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
}
public function oracle_rollback(){
$link = $this->conn();
if (!empty($link)){
$r = oci_rollback($link);
}
return $r;
}
}
$oracle = new oracle();
$sql = "SELECT * from T_LMS_USERS where USERID='2'";
$data = $oracle->oracle_fetch_row($sql,0);
print_r ($data);
?>