真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php操作mdb數(shù)據(jù)庫(kù) php操作數(shù)據(jù)庫(kù)代碼

如何用php連接mdb數(shù)據(jù)庫(kù)?

以下為幾個(gè)php連接access數(shù)據(jù)庫(kù)和操作acess數(shù)據(jù)的方法,全部做成了類,應(yīng)用起來(lái)也更方便,也可摘用其中的部分代碼應(yīng)用。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了大渡口免費(fèi)建站歡迎大家使用!

?php

--------------------------------------------------------------------

//FileName:class.php

//Summary: Access數(shù)據(jù)庫(kù)操作類

// 使用范例:

//$databasepath="database.mdb";

//$dbusername="";

//$dbpassword="";

//include_once("class.php");

//$access=new Access($databasepath,$dbusername,$dbpassword);

--------------------------------------------------------------------

class Access

{

var $databasepath,$constr,$dbusername,$dbpassword,$link;

function Access($databasepath,$dbusername,$dbpassword)

{

$this-databasepath=$databasepath;

$this-username=$dbusername;

$this-password=$dbpassword;

$this-connect();

}

function connect()

{

$this-constr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath($this-databasepath);

$this-link=odbc_connect($this-constr,$this-username,$this-password,SQL_CUR_USE_ODBC);

return $this-link;

//if($this-link) echo "恭喜你,數(shù)據(jù)庫(kù)連接成功!";

//else echo "數(shù)據(jù)庫(kù)連接失敗!";

}

function query($sql)

{

return @odbc_exec($this-link,$sql);

}

function first_array($sql)

{

return odbc_fetch_array($this-query($sql));

}

function fetch_row($query)

{

return odbc_fetch_row($query);

}

function total_num($sql)//取得記錄總數(shù)

{

return odbc_num_rows($this-query($sql));

}

function close()//關(guān)閉數(shù)據(jù)庫(kù)連接函數(shù)

{

odbc_close($this-link);

}

function insert($table,$field)//插入記錄函數(shù)

{

$temp=explode(',',$field);

$ins='';

for ($i=0;$icount($temp);$i++)

{

$ins.="'".$_POST[$temp[$i]]."',";

}

$ins=substr($ins,0,-1);

$sql="INSERT INTO ".$table." (".$field.") VALUES (".$ins.")";

$this-query($sql);

}

function getinfo($table,$field,$id,$colnum)//取得當(dāng)條記錄詳細(xì)信息

{

$sql="SELECT * FROM ".$table." WHERE ".$field."=".$id."";

$query=$this-query($sql);

if($this-fetch_row($query))

{

for ($i=1;$i$colnum;$i++)

{

$info[$i]=odbc_result($query,$i);

}

}

return $info;

}

function getlist($table,$field,$colnum,$condition,$sort="ORDER BY id DESC")//取得記錄列表

{

$sql="SELECT * FROM ".$table." ".$condition." ".$sort;

$query=$this-query($sql);

$i=0;

while ($this-fetch_row($query))

{

$recordlist[$i]=getinfo($table,$field,odbc_result($query,1),$colnum);

$i++;

}

return $recordlist;

}

function getfieldlist($table,$field,$fieldnum,$condition="",$sort="")//取得記錄列表

{

$sql="SELECT ".$field." FROM ".$table." ".$condition." ".$sort;

$query=$this-query($sql);

$i=0;

while ($this-fetch_row($query))

{

for ($j=0;$j$fieldnum;$j++)

{

$info[$j]=odbc_result($query,$j+1);

}

$rdlist[$i]=$info;

$i++;

}

return $rdlist;

}

function updateinfo($table,$field,$id,$set)//更新記錄

{

$sql="UPDATE ".$table." SET ".$set." WHERE ".$field."=".$id;

$this-query($sql);

}

function deleteinfo($table,$field,$id)//刪除記錄

{

$sql="DELETE FROM ".$table." WHERE ".$field."=".$id;

$this-query($sql);

}

function deleterecord($table,$condition)//刪除指定條件的記錄

{

$sql="DELETE FROM ".$table." WHERE ".$condition;

$this-query($sql);

}

function getcondrecord($table,$condition="")// 取得指定條件的記錄數(shù)

{

$sql="SELECT COUNT(*) AS num FROM ".$table." ".$condition;

$query=$this-query($sql);

$this-fetch_row($query);

$num=odbc_result($query,1);

return $num;

}

}

?

22222222

class.php文件:

[php]

?php

class Access//Access數(shù)據(jù)庫(kù)操作類

{

var $databasepath,$constr,$dbusername,$dbpassword,$link;//類的屬性

function Access($databasepath,$dbusername,$dbpassword)//構(gòu)造函數(shù)

{

$this-databasepath=$databasepath;

$this-username=$dbusername;

$this-password=$dbpassword;

$this-connect();

}

function connect()//數(shù)據(jù)庫(kù)連接函數(shù)

{

$this-constr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath($this-databasepath);

$this-link=odbc_connect($this-constr,$this-username,$this-password,SQL_CUR_USE_ODBC);

return $this-link;

//if($this-link) echo "恭喜你,數(shù)據(jù)庫(kù)連接成功!";

//else echo "數(shù)據(jù)庫(kù)連接失敗!";

}

function query($sql)//送一個(gè)查詢字符串到數(shù)據(jù)庫(kù)中

{

return @odbc_exec($this-link,$sql);

}

function first_array($sql)//從access數(shù)據(jù)庫(kù)中返回一個(gè)數(shù)組

{

return @odbc_fetch_array($this-query($sql));

}

function fetch_row($query)//返回記錄中的一行

{

return odbc_fetch_row($query);

}

function total_num($sql)//取得記錄總數(shù)

{

return odbc_num_rows($this-query($sql));

}

function close()//關(guān)閉數(shù)據(jù)庫(kù)連接函數(shù)

{

odbc_close($this-link);

}

function insert($table,$field)//插入記錄函數(shù)

{

$temp=explode(',',$field);

$ins='';

for ($i=0;$i {

$ins.="'".$_POST[$temp[$i]]."',";

}

$ins=substr($ins,0,-1);

$sql="INSERT INTO ".$table." (".$field.") VALUES (".$ins.")";

$this-query($sql);

}

function getinfo($table,$field,$id,$colnum)//取得當(dāng)條記錄詳細(xì)信息

{

$sql="SELECT * FROM ".$table." WHERE ".$field."=".$id."";

$query=$this-query($sql);

if($this-fetch_row($query))

{

for ($i=1;$i$colnum;$i++)

{

$info[$i]=odbc_result($query,$i);

}

}

return $info;

}

function getlist($table,$field,$colnum,$condition,$sort="ORDER BY id DESC")//取得記錄列表

{

$sql="SELECT * FROM ".$table." ".$condition." ".$sort;

$query=$this-query($sql);

$i=0;

while ($this-fetch_row($query))

{

$recordlist[$i]=getinfo($table,$field,odbc_result($query,1),$colnum);

$i++;

}

return $recordlist;

}

function getfieldlist($table,$field,$fieldnum,$condition="",$sort="")//取得記錄列表

{

$sql="SELECT ".$field." FROM ".$table." ".$condition." ".$sort;

$query=$this-query($sql);

$i=0;

while ($this-fetch_row($query))

{

for ($j=0;$j$fieldnum;$j++)

{

$info[$j]=odbc_result($query,$j+1);

}

$rdlist[$i]=$info;

$i++;

}

return $rdlist;

}

function updateinfo($table,$field,$id,$set)//更新記錄函數(shù)

{

$sql="UPDATE ".$table." SET ".$set." WHERE ".$field."=".$id;

$this-query($sql);

}

function deleteinfo($table,$field,$id)//刪除記錄函數(shù)

{

$sql="DELETE FROM ".$table." WHERE ".$field."=".$id;

$this-query($sql);

}

function deleterecord($table,$condition)//刪除指定條件的記錄函數(shù)

{

$sql="DELETE FROM ".$table." WHERE ".$condition;

$this-query($sql);

}

function getcondrecord($table,$condition="")//取得指定條件的記錄數(shù)函數(shù)

{

$sql="SELECT COUNT(*) AS num FROM ".$table." ".$condition;

$query=$this-query($sql);

$this-fetch_row($query);

$num=odbc_result($query,1);

return $num;

}

}

?

[/php]

數(shù)據(jù)庫(kù)連接文件:

[php]

?php

$databasepath="data/database.mdb";//數(shù)據(jù)庫(kù)路徑

$dbusername="";//數(shù)據(jù)庫(kù)用戶名

$dbpassword="";//數(shù)據(jù)庫(kù)密碼

include_once("class.php");//調(diào)用數(shù)據(jù)庫(kù)操作類

$access=new Access($databasepath,$dbusername,$dbpassword);//新建一個(gè)數(shù)據(jù)庫(kù)操作類的對(duì)象

?

[/php]

[php]

?php

$sql="select * from $info where id=$id";

$result=$access-query($sql)or die("error2");

$array=odbc_fetch_array($result);

?

[/php]

333333333333

這個(gè)是為了 同時(shí)可以使用access和mysql而做的 先弄一個(gè)mysql的 然后又寫一個(gè)access的 所有的函數(shù)一一對(duì)應(yīng) 你可以看下 絕對(duì)原創(chuàng)喔~~

配置文件如下

$config['db']['type'] = "Mysql"; //數(shù)據(jù)庫(kù)類型“Mysql”,“Access”

$config['db']['database']= "ourcms"; //數(shù)據(jù)庫(kù)(文件)名

$config['db']['host'] = ""; //數(shù)據(jù)庫(kù)主機(jī)

$config['db']['username']= "7king"; //數(shù)據(jù)庫(kù)連接用戶名

$config['db']['password']= "tingting"; //數(shù)據(jù)庫(kù)連接密碼

/*

$config['db']['type'] = "Access"; //數(shù)據(jù)庫(kù)類型“Mysql”,“Access”

$config['db']['database']= "ourcms.mdb";//數(shù)據(jù)庫(kù)(文件)名

$config['db']['host'] = "";

$config['db']['username']= "";

$config['db']['password']= "";

?php

/**

* 2007.04 by zhaohe

*

* php連接access通用類

*

* 用法:

* 建立new Access類 = set_db設(shè)置數(shù)據(jù)路徑 = set_login 設(shè)置連接數(shù)據(jù)庫(kù)的用戶名和密碼

* = 通過set_conn 設(shè)置連接 =

* {

get_result 獲取查詢執(zhí)行結(jié)果; get_result_rows 獲取查詢執(zhí)行列表,一般是select

insert_info 插入新的記錄 update_info更新記錄

}

*

*

*/

class Access {

/**

* 類變量定義

* @param $conn mysql連接號(hào)

* @param $error 錯(cuò)誤代號(hào)

* @param $username/$password 數(shù)據(jù)庫(kù)連接用戶名和密碼

* @param array $err_info 錯(cuò)誤信息

*

* @param $debuginfo 調(diào)試信息

* @param $table 當(dāng)前操作數(shù)據(jù)表

*/

var $conn;

var $error;

var $database;

var $username = "";

var $password = "";

var $err_info = array(

0 = "沒有錯(cuò)誤!",

1 = "數(shù)據(jù)庫(kù)連接失敗!",

2 = "sql執(zhí)行出錯(cuò)!"

);

var $debuginfo="";

var $table;

/**

* 默認(rèn)構(gòu)造方法

**/

function Access( $arr=null ){

if( is_array($arr) ) {

$this-set_login( $arr['host'] , $arr['username'] , $arr['password'] );

$this-set_db( $arr['database'] );

$this-set_conn();

}

}

/**

* 設(shè)置數(shù)據(jù)庫(kù)文件名

* @param string $dbfile

*

* return void

*/

function set_db ( $dbfile ){

$this-database = $dbfile;

}

/**

* 設(shè)置連接數(shù)據(jù)庫(kù)的用戶名和密碼

* @param string $user 用戶名

* @param string $pwd 密碼

*

* @return void

*/

function set_login ( $user , $pwd ){

$this-username=$user;

$this-password=$pwd;

}

/**

* 創(chuàng)建數(shù)據(jù)庫(kù)連接

* @param

* return void

*/

function set_conn ( ){

if($this-conn=odbc_connect("DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath($this-database),$this-username,$this-password,SQL_CUR_USE_ODBC )) $this-error=0;

else $this-error=1;

}

/**

* 設(shè)置當(dāng)前操作的數(shù)據(jù)表

* @param string $tb

*

* @return void

*/

function set_table( $tb ) {

$this-table = $tb;

}

/**

* 返回sql查詢結(jié)果

* @param string $sql sql語(yǔ)句

*

* @return #id

*/

function get_result( $sql ){

return odbc_do( $this-conn , $sql );

}

/**

* 獲取查詢的結(jié)果

* @param string $sql

*

* @return array 結(jié)果的二維數(shù)組

*/

function get_result_rows( $sql ){

$array = array() ;

$result = $this-get_result( $sql );

while( $row = odbc_fetch_array( $result ) )

$array[] = $row ;

return $array;

}

/**

* 獲取部分查詢結(jié)果

*

* @param Array 數(shù)組

* @return Array

*/

function get_query_result( $cols , $tb=null , $order=null , $limit=null , $start=0 ) {

if( empty($tb) ) $tb=$this-table;

else $this-table=$tb;

if( is_array($cols) ) $col="[".implode('],[',$cols)."]";

else $col = $cols;

if( empty($limit) )

$sql = "select $col from $tb";

else

$sql ="select top $limit $col from $tb";;

if( isset($order) ) $sql.=" order by $order";

return $this-get_result_rows($sql);

}

/**

* 執(zhí)行數(shù)據(jù)庫(kù)插入操作

*

* @param $arr values列表,數(shù)組索引為數(shù)據(jù)表字段

* @param $tb 操作數(shù)據(jù)表 如果為空則為設(shè)置的當(dāng)前類的操作表

*/

function insert_info( $arr , $tb = "" ) {

$cols = array_keys( $arr );

$values = array_values( $arr );

if (empty($tb)) $tb = $this-tb;

/*

foreach( $arr as $key = $value ){

$cols[] = $key;

$values[] = $value;

}

*/

$sql = "insert into [$tb]([".implode("],[",$cols)."]) values('".implode("','",$values)."')";

//return $sql;

return $this-get_result( $sql );

}

/**

* 執(zhí)行數(shù)據(jù)庫(kù)更新操作

*

* @param array $arr 要更新的字段值 數(shù)組索引為表字段名

* @param array $con 條件數(shù)組

* @param string $tb 要操作的數(shù)據(jù)表

*

*/

function update_info( $arr , $con , $tb = "" ) {

$cols = array();

$conditions = array();

if (empty( $tb )) $tb = $this-tb;

foreach( $arr as $key = $value ){

$cols[] = "[$key]='$value'";

}

foreach( $con as $key = $value ) {

//檢查數(shù)據(jù)類型

if( is_int($value) || is_float($value) )

$conditions[] = "[$key]=$value";

else

$conditions[] = "[$key]='$value'";

}

$sql = "update [$tb] set ".implode(",",$cols)." where ".implode(" and ",$conditions);

//return $sql;

return $this-get_result( $sql );

}

}

?

mysql的類如下

class Mysql {

/**

* mysql連接執(zhí)行類,將sql的執(zhí)行實(shí)現(xiàn)數(shù)據(jù)庫(kù)無(wú)關(guān)性

*

*

*

*/

/**

* 類變量定義

* @param $conn mysql連接號(hào)

* @param $error 錯(cuò)誤代號(hào)

* @param $username/$password 數(shù)據(jù)庫(kù)連接用戶名和密碼

* @param array $err_info 錯(cuò)誤信息

*

* @param $debuginfo 調(diào)試信息

* @param $table 當(dāng)前操作數(shù)據(jù)表

*/

var $conn;

var $error;

var $username = "";

var $password = "";

var $host;

var $database;

var $err_info = array(

0 = "沒有錯(cuò)誤!",

1 = "數(shù)據(jù)庫(kù)連接失敗!",

2 = "sql執(zhí)行出錯(cuò)!"

);

var $debuginfo="";

var $table;

function Mysql( $arr=null ) {

if( is_array($arr) ) {//var_dump($arr);

$this-set_login( $arr['host'] , $arr['username'] , $arr['password'] );

$this-set_db( $arr['database'] );

$this-set_conn();

if( isset($this-error) $this-error!=0 ) die($this-err_info[$this-error]);

}

}

/**

* 設(shè)置數(shù)據(jù)庫(kù)名

* @param string $database

*

* return void

*/

function set_db ( $dbfile ){

$this-database = $dbfile;

}

/**

* 設(shè)置連接數(shù)據(jù)庫(kù)的用戶名和密碼

* @param string $user 用戶名

* @param string $pwd 密碼

*

* @return void

*/

function set_login ( $host , $user , $pwd ){

$this-host=$host;

$this-username=$user;

$this-password=$pwd;

}

/**

* 創(chuàng)建數(shù)據(jù)庫(kù)連接

* @param

* return void

*/

function set_conn (){

$this-conn=mysql_connect($this-host,$this-username,$this-password );

if ( isset($this-conn) mysql_select_db($this-database) )

$this-error=0;

else

$this-error=1;

}

/**

* 設(shè)置當(dāng)前操作的數(shù)據(jù)表

* @param string $tb

*

* @return void

*/

function set_table( $tb ) {

$this-table = $tb;

}

/**

* 返回sql查詢結(jié)果

* @param string $sql sql語(yǔ)句

*

* @return #id

*/

function get_result( $sql ){

return mysql_query( $sql , $this-conn );

}

/**

* 獲取查詢的結(jié)果

* @param string $sql

*

* @return array 結(jié)果的二維數(shù)組

*/

function get_result_rows( $sql ){

$array = array() ;

$result = $this-get_result( $sql );

while( $row = mysql_fetch_assoc( $result ) )

$array[] = $row ;

return $array;

}

/**

* 獲取部分查詢結(jié)果

*

* @param Array 數(shù)組

* @return Array

*/

function get_query_result( $cols , $tb=null , $condition , $order=null , $limit=null , $start=0 ) {

if( empty($tb) ) $tb=$this-table;

else $this-table=$tb;

if( is_array($cols) ) $col="`".implode('`,`',$cols)."`";

else $col = $cols;

if( isset($limit) )

$sql.="select top $limit $col from $tb";

else

$sql = "select $col from $tb";

if( isset($condition) ) $sql.=" where $condition";

if( isset($order) ) $sql.=" order by $order";

if( isset($limit) ) $sql.=" limit $start,$limit";

return $this-get_result_rows($sql);

}

/**

* 執(zhí)行數(shù)據(jù)庫(kù)插入操作

*

* @param $arr values列表,數(shù)組索引為數(shù)據(jù)表字段

* @param $tb 操作數(shù)據(jù)表 如果為空則為設(shè)置的當(dāng)前類的操作表

*/

function insert_info( $arr , $tb = "" ) {

$cols = array_keys( $arr );

$values = array_values( $arr );

if (empty($tb)) $tb = $this-table;

/*

foreach( $arr as $key = $value ){

$cols[] = $key;

$values[] = $value;

}

*/

$sql = "insert into [$tb](`".implode("`,`",$cols)."`) values('".implode("','",$values)."')";

//return $sql;

return $this-get_result( $sql );

}

/**

* 執(zhí)行數(shù)據(jù)庫(kù)更新操作

*

* @param array $arr 要更新的字段值 數(shù)組索引為表字段名

* @param array $con 條件數(shù)組

* @param string $tb 要操作的數(shù)據(jù)表

*

*/

function update_info( $arr , $con , $tb = "" ) {

$cols = array();

$conditions = array();

if (empty( $tb )) $tb = $this-table;

if( is_array($arr) ) {

foreach( $arr as $key = $value ){

$cols[] = "`$key`='$value'";

}

foreach( $con as $key = $value ) {

//檢查數(shù)據(jù)類型

if( is_int($value) || is_float($value) )

$conditions[] = "`$key`=$value";

else

$conditions[] = "`$key`='$value'";

}

$sql = "update `$tb` set ".implode(",",$cols)." where ".implode(" and ",$conditions);

}

else

$sql = "update `$tb` set $arr where $con";

//return $sql;

return $this-get_result( $sql );

}

}

幾種常用PHP連接數(shù)據(jù)庫(kù)的代碼示例

PHP連接數(shù)據(jù)庫(kù)之PHP連接MYSQL數(shù)據(jù)庫(kù)代碼

?php? ? $mysql_server_name= localhost ;? //改成自己的mysql數(shù)據(jù)庫(kù)服務(wù)器 ? $mysql_username= root ;? //改成自己的mysql數(shù)據(jù)庫(kù)用戶名 ? $mysql_password= ;? //改成自己的mysql數(shù)據(jù)庫(kù)密碼 ? $mysql_database= mycounter ; ?//改成自己的mysql數(shù)據(jù)庫(kù)名 ? $conn=mysql_connect($mysql_server_name $mysql_username $mysql_password $mysql_database);? ? $sql= CREATE?DATABASE?mycounter? DEFAULT?CHARACTER?SET?gbk?COLLATE?gbk_chinese_ci;? ? ;? ? mysql_query($sql);? ? $sql= CREATE?TABLE?`counter`? (`id`?INT( )?UNSIGNED?NOT?NULL? AUTO_INCREMENT? `count`?INT( )? UNSIGNED?NOT?NULL?DEFAULT? PRIMARY?KEY? (?`id`?)?)?TYPE?=?innodb; ;? ? mysql_select_db($mysql_database $conn);? ? $result=mysql_query($sql);? ? //echo?$sql;? ? mysql_close($conn);? ? echo?"Hello!數(shù)據(jù)庫(kù)mycounter已經(jīng)成功建立!";? ? ?

PHP連接數(shù)據(jù)庫(kù)之PHP連接ACCESS數(shù)據(jù)庫(kù)代碼方法

? ? $conn?=?new?("ADODB Connection");? ? $connstr?=?"DRIVER={Microsoft?Access?Driver?(* mdb)};?DBQ=" ?realpath("data/db mdb");? ? $conn Open($connstr);? ? $rs?=?new?("ADODB RecordSet");? ? $rs Open("select?*?from?szd_t" $conn );? ? while(!?$rs eof)?{? ? $f?=?$rs Fields( );? ? echo?$f value;? ? $rs MoveNext();? ? }? ? ?

PHP連接數(shù)據(jù)庫(kù)之PHP連接MS SQL數(shù)據(jù)庫(kù)代碼方法

安裝SQL服務(wù)器并添加PHP的MSSQL擴(kuò)展

使用以下代碼連接并測(cè)試

?php? ? $myServer?=?localhost;?//主機(jī) ? $myUser?=?sa;?//用戶名 ? $myPass?=?password;?//密碼 ? $myDB?=?Northwind;?//MSSQL庫(kù)名 ? $s?=?@mssql_connect($myServer ?$myUser ?$myPass)? ? or?die(Couldnt?connect?to?SQL?Server?on?$myServer);? ? $d?=?@mssql_select_db($myDB ?$s)? ? or?die(Couldnt?open?database?$myDB);? ? $query?=?SELECT?TitleOfCourtesy+?+FirstName+?+LastName?AS?Employee?;? ? $query? =?FROM?Employees?;? ? $query? =?WHERECountry=USA?AND?Left(HomePhone ? )?=?( );? ? $result?=?mssql_query($query);? ? $numRows?=?mssql_num_rows($result);? ? echo? h ? ?$numRows? ?Row? ?($numRows?==? ???:?s)? ?Returned?/ h ;? ? while($row?=?mssql_fetch_array($result))? ? {? ? echo? li? ?$row[Employee]? ? /li;? ? }? ? ?

PHP連接數(shù)據(jù)庫(kù)之PHP連接Oracle數(shù)據(jù)庫(kù)

PHP提供了兩套函數(shù)與Oracle連接 分別是ORA_和OCI函數(shù) 其中ORA_函數(shù)略顯陳舊 OCI函數(shù)更新?lián)f(shuō)更好一些 兩者的使用語(yǔ)法幾乎相差無(wú)幾 你的PHP安裝選項(xiàng)應(yīng)該可以支持兩者的使用

 ?? if?($conn=Ora_Logon("user@TNSNAME" "password"))? ? {?echo?"SUCCESS?!?Connected?to?databasen";? ? }else? ? {echo?"Failed?: (?Could?not?connect?to?databasen";}? ? Ora_Logoff($conn);? ? phpinfo();? ? ?? ? lishixinzhi/Article/program/PHP/201405/30761

php查詢mdb最新

一.安裝部署mongo

1.創(chuàng)建文件夾?

/opt/mongodb/single?

/opt/mongodb/data/db

2.進(jìn)入single目錄下載安裝包

//下載 tar.gz文件

wget

3.解壓 并修改文件名?

mv mongodb-linux-x86_64-2.4.6 mongo

4.進(jìn)入mongo目錄

5.創(chuàng)建配置文件?

– mkdir conf?

– cd conf?

– vim conf.properties

#端口

port=27017

#db存放的目錄

dbpath=/opt/mongotest/data/db

#后臺(tái)啟動(dòng)需要配置日志輸出

logpath=/opt/mongotest/single/mongo/log/mongo.log

#日志模式

logappend=true

#設(shè)置成后臺(tái)啟動(dòng)

fork=true

6.啟動(dòng)mongo?

mongo目錄執(zhí)行

root@chwx2:/opt/mongotest/single/mongo# ./bin/mongod -f conf/conf.properties

about to fork child process, waiting until server is ready for connections.

forked process: 4988

all output going to: /opt/mongotest/single/mongo/log/mongo.log

child process started successfully, parent exiting

表示后臺(tái)啟動(dòng)mongo成功

二.使用mongo進(jìn)行日常操作

1.連接mongodb?

mongo/bin目錄下執(zhí)行?

./mongo

2.查看數(shù)據(jù)庫(kù)?

show dbs

3.查看當(dāng)前所在數(shù)據(jù)庫(kù)?

db

4.創(chuàng)建數(shù)據(jù)庫(kù)?

use openfire (臨時(shí)創(chuàng)建 如果不做操作 則離開后被系統(tǒng)刪除)

5.在當(dāng)前數(shù)據(jù)庫(kù)刪除當(dāng)前數(shù)據(jù)庫(kù)?

db.dropDatabase()

6.查看當(dāng)前庫(kù)的所有用戶?

show users

7.查看集合(或者叫表)?

show collections

8.創(chuàng)建集合?

db.createCollection(“mycollection”)

9.創(chuàng)建集合并制定集合的屬性?

db.createCollection(“mycol”, { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )

字段

類型

描述

capped ? ?Boolean ? ?(可選)如果為true,則啟用封頂集合。封頂集合是固定大小的集合,會(huì)自動(dòng)覆蓋最早的條目,當(dāng)它達(dá)到其最大大小。如果指定true,則需要也指定尺寸參數(shù)。 ?

autoIndexID ? ?Boolean ? ?(可選)如果為true,自動(dòng)創(chuàng)建索引_id字段的默認(rèn)值是false。 ?

size ? ?number ? ?(可選)指定最大大小字節(jié)封頂集合。如果封頂如果是 true,那么你還需要指定這個(gè)字段。 ?

max ? ?number ? ?(可選)指定封頂集合允許在文件的最大數(shù)量。 ?

10.另一種創(chuàng)建集合?

(當(dāng)插入一條數(shù)據(jù)時(shí),不存在mongodb會(huì)幫我們創(chuàng)建,和創(chuàng)建數(shù)據(jù)庫(kù)同理)?

db.MySecondCollection.insert({“name” : “ming”})

11.刪除當(dāng)前庫(kù)的一個(gè)集合?

db.CollectionName.drop()

12.插入一條數(shù)據(jù)?

db.MyFirstCollection.insert({“_id”:”3”,”title”:”mongotest”,”description”:”this is test”})?

注意:插入的都是JSON形式的,所以一定要用{},否則會(huì)報(bào)錯(cuò):?

Sat Mar 19 14:22:39.160 SyntaxError: Unexpected token :

13.插入一條_id存在的數(shù)據(jù)?

db.MyFirstCollection.insert({“_id”:”3”,”title”:”mm”})?

輸出:E11000 duplicate key error index: openfire.MyFirstCollection.$_id_ dup key: { : “3” }?

解釋:_id即是mongodb的默認(rèn)主鍵,默認(rèn)自動(dòng)生成,我們可以直接設(shè)置以達(dá)到我們想要的目的

問:插入一條和原來(lái)集合完全不一樣的數(shù)據(jù)可以嗎?

答:可以,所以我們要在程序中規(guī)避,手動(dòng)指定我們一個(gè)集合里面的字段,否則就無(wú)法實(shí)現(xiàn)查詢及其他功能了

db.MyFirstCollection.insert({"newTitle":"null"})

db.MyFirstCollection.find();

{ "_id" : "3", "title" : "new title", "description" : "this is test" }

{ "_id" : ObjectId("56ecf4fe0dceecace97c4506"), "newTitle" : "null" }

14.查看集合第一條記錄?

db.MySecondCollection.findOne();?

輸出:{ “_id” : ObjectId(“56ecde0662552d15c443dd4a”), “name” : “ming” }

15.查找一條/多條特定數(shù)據(jù)?

db.MySecondCollection.findOne({“name”:”ming”})?

輸出:{ “_id” : ObjectId(“56ecde0662552d15c443dd4a”), “name” : “ming” }

16.更新一條記錄?

db.MyFirstCollection.update({“title”:”mongotest”},{$set:{“title”:”new title”}},true,false)?

結(jié)果:?

db.MyFirstCollection.findOne()?

{ “_id” : “3”, “title” : “new title”, “description” : “this is test” }

update詳解

db.collection.update(criteria,objNew,upsert,multi)

criteria:查詢條件

objNew:update對(duì)象和一些更新操作符

upsert:如果不存在update的記錄,是否插入objNew這個(gè)新的文檔,true為插入,默認(rèn)為false,不插入。

multi:默認(rèn)是false,只更新找到的第一條記錄。如果為true,把按條件查詢出來(lái)的記錄全部更新。

更新操作符:

1.$inc

用法:{$inc:{field:value}}

作用:對(duì)一個(gè)數(shù)字字段的某個(gè)field增加value

示例:db.students.update({name:"student"},{$inc:{age:5}}) ?

2.$set

用法:{$set:{field:value}}

作用:把文檔中某個(gè)字段field的值設(shè)為value

示例:db.students.update({name:"student"},{$set:{age:23}})

3.$unset

用法:{$unset:{field:1}}

作用:刪除某個(gè)字段field

示例: db.students.update({name:"student"},{$unset:{age:1}})

4.$push

用法:{$push:{field:value}}

作用:把value追加到field里。注:field只能是數(shù)組類型,如果field不存在,會(huì)自動(dòng)插入一個(gè)數(shù)組類型

示例:db.students.update({name:"student"},{$push:{"title":"major"}}

5.$rename

用法:{$rename:{old_field_name:new_field_name}}

作用:對(duì)字段進(jìn)行重命名(不是值,是字段)

示例:db.students.update({name:"student"},{$rename:{"name":"newname"}})

設(shè)置用戶權(quán)限及訪問

1.給admin添加用戶

切換到admin庫(kù):use admin?

添加admin用戶:db.addUser(“root”,”admin”)

注意:必須先給admin庫(kù)添加用戶,否則就算給具體的庫(kù)添加了用戶,后續(xù)進(jìn)入依然能操作具體庫(kù).?

因?yàn)槟J(rèn)admin庫(kù)用戶具有最高權(quán)限,相當(dāng)于具體庫(kù)需要認(rèn)證時(shí),進(jìn)入的用戶持有的是admin的權(quán)限,所以無(wú)需認(rèn)證依然能進(jìn)行操作.

2.給具體庫(kù)添加用戶

use openfire

db.addUser("openfire","password")

3.重啟mongo并在啟動(dòng)時(shí)配置需要認(rèn)證

方法一:退出重啟并加上auth參數(shù)?

./bin/mongod -f conf/conf.properties –auth(注意是兩個(gè)-)

方法二:修改配置文件,加上參數(shù)(推薦)?

auth=true

3.測(cè)試權(quán)限

use openfire

db.MySecondCollection.findOne();

Sat Mar 19 14:04:55.653 error: {

"$err" : "not authorized for query on openfire.MySecondCollection",

"code" : 16550

} at src/mongo/shell/query.js:128

4.認(rèn)證并操作

//此處應(yīng)該設(shè)置成更加恰當(dāng)?shù)挠脩裘懊艽a

db.auth("openfire","password")

1

db.MySecondCollection.findOne()

{ "_id" : ObjectId("56ecde0662552d15c443dd4a"), "name" : "ming" }

5.另一種方法認(rèn)證

在進(jìn)入mongo時(shí)候加上數(shù)據(jù)庫(kù)及用戶名、密碼?

./bin/mongo openfire -uopenfire -ppassword

root@test:/opt/mongotest/single/mongo# ./bin/mongo openfire -uopenfire -ppassword

MongoDB shell version: 2.4.6

connecting to: openfire

db

openfire

db.MySecondCollection.findOne()

{ "_id" : ObjectId("56ecde0662552d15c443dd4a"), "name" : "ming" }

mongdb進(jìn)階

1.find()指定返回字段?

作用:減少流量

如果key:value,返回的value是個(gè)非常大的JSON,而我們不需要這么多字段,也許我們只需要其中的一個(gè).

那么使用projection來(lái)過濾:?

db.collection.find(query, projection) 此處projection就是返回值的過濾條件

參數(shù)

類型

描述

query ? ?文檔 ? ?可選. 使用查詢操作符指定查詢條件 ?

projection ? ?文檔 ? ?可選.使用投影操作符指定返回的鍵。查詢時(shí)返回文檔中所有鍵值, 只需省略該參數(shù)即可(默認(rèn)省略). ?

返回值: 匹配查詢條件的文檔集合的游標(biāo). 如果指定投影參數(shù),查詢出的文檔返回指定的鍵 ,”_id”鍵也可以從集合中移除掉。?

_id不指定的話,總是會(huì)返回.?

1或者true代表返回,0或者false代表不返回

示例:?

db.MyFirstCollection.findOne({“title”:”new title”},{“description”:1,”_id”:0});?

{ “description” : “this is test” }

也可以使用表達(dá)式:?

db.MyFirstCollection.findOne({“title”:”new title”},{Items:{“$slice”:[3,1]}});

引用:?


網(wǎng)站題目:php操作mdb數(shù)據(jù)庫(kù) php操作數(shù)據(jù)庫(kù)代碼
地址分享:http://weahome.cn/article/dojised.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部