php連接數(shù)據(jù)庫(kù)的目的,php連接數(shù)據(jù)庫(kù)的目的是什么

php連接mysql數(shù)據(jù)庫(kù)原理是怎樣的

現(xiàn)在使用PDO鏈接數(shù)據(jù)庫(kù)的較多

創(chuàng)新互聯(lián)從2013年開(kāi)始,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元峨山縣做網(wǎng)站,已為上家服務(wù),為峨山縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):13518219792

連接是通過(guò)創(chuàng)建 PDO 基類(lèi)的實(shí)例而建立的。不管使用哪種驅(qū)動(dòng)程序,都是用 PDO 類(lèi)名。構(gòu)造函數(shù)接收用于指定數(shù)據(jù)庫(kù)源(所謂的 DSN)以及可能還包括用戶(hù)名和密碼(如果有的話(huà))的參數(shù)。

連接到 MySQL

?php

$dbh?=?new?PDO('mysql:host=localhost;dbname=test',?$user,?$pass);

?

如果有任何連接錯(cuò)誤,將拋出一個(gè) PDOException 異常對(duì)象。如果想處理錯(cuò)誤狀態(tài),可以捕獲異常,或者選擇留給通過(guò) set_exception_handler() 設(shè)置的應(yīng)用程序全局異常處理程序。

處理連接錯(cuò)誤

?php

try?{

$dbh?=?new?PDO('mysql:host=localhost;dbname=test',?$user,?$pass);

foreach($dbh-query('SELECT?*?from?FOO')?as?$row)?{

print_r($row);

}

$dbh?=?null;

}?catch?(PDOException?$e)?{

print?"Error!:?"?.?$e-getMessage()?.?"br/";

die();

}

?

如果應(yīng)用程序不在 PDO 構(gòu)造函數(shù)中捕獲異常,zend 引擎采取的默認(rèn)動(dòng)作是結(jié)束腳本并顯示一個(gè)回溯跟蹤,此回溯跟蹤可能泄漏完整的數(shù)據(jù)庫(kù)連接細(xì)節(jié),包括用戶(hù)名和密碼。因此有責(zé)任去顯式(通過(guò) catch 語(yǔ)句)或隱式(通過(guò) set_exception_handler() )地捕獲異常。

連接數(shù)據(jù)成功后,返回一個(gè) PDO 類(lèi)的實(shí)例給腳本,此連接在 PDO 對(duì)象的生存周期中保持活動(dòng)。要想關(guān)閉連接,需要銷(xiāo)毀對(duì)象以確保所有剩余到它的引用都被刪除,可以賦一個(gè) NULL 值給對(duì)象變量。如果不明確地這么做,PHP 在腳本結(jié)束時(shí)會(huì)自動(dòng)關(guān)閉連接。

關(guān)閉一個(gè)連接

?php

$dbh?=?new?PDO('mysql:host=localhost;dbname=test',?$user,?$pass);

//?在此使用連接

//?現(xiàn)在運(yùn)行完成,在此關(guān)閉連接

$dbh?=?null;

?

很多 web 應(yīng)用程序通過(guò)使用到數(shù)據(jù)庫(kù)服務(wù)的持久連接獲得好處。持久連接在腳本結(jié)束后不會(huì)被關(guān)閉,且被緩存,當(dāng)另一個(gè)使用相同憑證的腳本連接請(qǐng)求時(shí)被重用。持久連接緩存可以避免每次腳本需要與數(shù)據(jù)庫(kù)回話(huà)時(shí)建立一個(gè)新連接的開(kāi)銷(xiāo),從而讓 web 應(yīng)用程序更快。

PHP利用pdo_odbc實(shí)現(xiàn)連接數(shù)據(jù)庫(kù)示例【基于ThinkPHP5.1搭建的項(xiàng)目】

本文實(shí)例講述了PHP利用pdo_odbc實(shí)現(xiàn)連接數(shù)據(jù)庫(kù)。分享給大家供大家參考,具體如下:

目的:從sql

server數(shù)據(jù)庫(kù)里面把某個(gè)視圖文件調(diào)用出來(lái),以鍵值對(duì)的方式顯示在頁(yè)面上。

利用pdo

odbc來(lái)實(shí)現(xiàn)PHP連接數(shù)據(jù)庫(kù):

在PHP配置文件里面開(kāi)啟pdo_odbc.dll服務(wù)。重啟Apache服務(wù)器。

在ThinkPHP5.1的項(xiàng)目中在模塊里添加config添加規(guī)定好的樣式數(shù)據(jù)庫(kù):

代碼如下:

?php

return

[

//

數(shù)據(jù)庫(kù)類(lèi)型

'type'

=

'sqlsrv',

//

服務(wù)器地址

'hostname'

=

'localhost',

//

數(shù)據(jù)庫(kù)名

'database'

=

'mysql',

//

用戶(hù)名

'username'

=

'sa',

//

密碼

'password'

=

'123456',

//

端口

'hostport'

=

'',

//

連接dsn

'dsn'

=

'odbc:Driver={SQL

Server};Server=localhost;Database=mysql',

//

數(shù)據(jù)庫(kù)連接參數(shù)

'params'

=

[],

//

數(shù)據(jù)庫(kù)編碼默認(rèn)采用utf8

'charset'

=

'utf8',

//

數(shù)據(jù)庫(kù)表前綴

'prefix'

=

'',

//

數(shù)據(jù)庫(kù)調(diào)試模式

'debug'

=

true,

//

數(shù)據(jù)庫(kù)部署方式:0

集中式(單一服務(wù)器),1

分布式(主從服務(wù)器)

'deploy'

=

0,

//

數(shù)據(jù)庫(kù)讀寫(xiě)是否分離

主從式有效

'rw_separate'

=

false,

//

讀寫(xiě)分離后

主服務(wù)器數(shù)量

'master_num'

=

1,

//

指定從服務(wù)器序號(hào)

'slave_no'

=

'',

//

是否嚴(yán)格檢查字段是否存在

'fields_strict'

=

true,

//

數(shù)據(jù)集返回類(lèi)型

'resultset_type'

=

'array',

//

自動(dòng)寫(xiě)入時(shí)間戳字段

'auto_timestamp'

=

false,

//

時(shí)間字段取出后的默認(rèn)時(shí)間格式

'datetime_format'

=

'Y-m-d

H:i:s',

//

是否需要進(jìn)行SQL性能分析

'sql_explain'

=

false,

//

Builder類(lèi)

'builder'

=

'',

//

Query類(lèi)

'query'

=

'\\think\\db\\Query',

//

是否需要斷線(xiàn)重連

'break_reconnect'

=

false,

//

斷線(xiàn)標(biāo)識(shí)字符串

'break_match_str'

=

[],

];

?

在控制器controller里面建一個(gè)控制文件Test.php

代碼如下:

?php

namespace

app\index\controller;

use

think\Db;

use

think\Controller;

class

Test

extends

Controller

{

public

function

zz(){

$data=Db::view('View_2')-select();

echo

json_encode($data);

}

}

?

最后調(diào)用入口文件即可訪(fǎng)問(wèn)。

我的效果:

[{"111":"123","1112":"LLP","232":"1","ROW_NUMBER":"1"},{"111":"123","1112":"BB","232":"2","ROW_NUMBER":"2"}]

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門(mén)教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend

FrameWork框架入門(mén)教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:ThinkPHP實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接的解決方法tp5(thinkPHP5)框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)查詢(xún)的方法ThinkPHP3.1新特性之多數(shù)據(jù)庫(kù)操作更加完善tp5(thinkPHP5)框架連接數(shù)據(jù)庫(kù)的方法示例PHP7使用ODBC連接SQL

Server2008

R2數(shù)據(jù)庫(kù)示例【基于thinkPHP5.1框架】thinkPHP5實(shí)現(xiàn)的查詢(xún)數(shù)據(jù)庫(kù)并返回json數(shù)據(jù)實(shí)例tp5(thinkPHP5)操作mongoDB數(shù)據(jù)庫(kù)的方法tp5(thinkPHP5)框架數(shù)據(jù)庫(kù)Db增刪改查常見(jiàn)操作總結(jié)thinkPHP5框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接,跨數(shù)據(jù)連接查詢(xún)操作示例

php連接mysql數(shù)據(jù)庫(kù)的主要函數(shù)的作用與格式

mysql可通過(guò)兩種方式通過(guò)php與web相連,一種通過(guò)php的mysql相關(guān)函數(shù),另一種通過(guò)php的odbc相關(guān)函數(shù)

相關(guān)函數(shù)如下:

mysql函數(shù)

mysql_affected_rows: 得到 mysql 最后操作影響的列數(shù)目。

mysql_close: 關(guān)閉 mysql 伺服器連線(xiàn)。

mysql_connect: 開(kāi)啟 mysql 伺服器連線(xiàn)。

mysql_create_db: 建立一個(gè) mysql 新資料庫(kù)。

mysql_data_seek: 移動(dòng)內(nèi)部傳回指標(biāo)。

mysql_db_query: 送查詢(xún)字串 (query) 到 mysql 資料庫(kù)。

mysql_drop_db: 移除資料庫(kù)。

mysql_errno: 傳回錯(cuò)誤訊息代碼。

mysql_error: 傳回錯(cuò)誤訊息。

mysql_fetch_array: 傳回陣列資料。

mysql_fetch_field: 取得欄位資訊。

mysql_fetch_lengths: 傳回單列各欄資料最大長(zhǎng)度。

mysql_fetch_object: 傳回物件資料。

mysql_fetch_row: 傳回單列的各欄位。

mysql_field_name: 傳回指定欄位的名稱(chēng)。

mysql_field_seek: 設(shè)定指標(biāo)到傳回值的某欄位。

mysql_field_table: 獲得目前欄位的資料表 (table) 名稱(chēng)。

mysql_field_type: 獲得目前欄位的型態(tài)。

mysql_field_flags: 獲得目前欄位的旗標(biāo)。

mysql_field_len: 獲得目前欄位的長(zhǎng)度。

mysql_free_result: 釋放傳回占用記憶體。

mysql_insert_id: 傳回最后一次使用 insert 指令的 id。

mysql_list_fields: 列出指定資料表的欄位 (field)。

mysql_list_dbs: 列出 mysql 伺服器可用的資料庫(kù) (database)。

mysql_list_tables: 列出指定資料庫(kù)的資料表 (table)。

mysql_num_fields: 取得傳回欄位的數(shù)目。

mysql_num_rows: 取得傳回列的數(shù)目。

mysql_pconnect: 開(kāi)啟 mysql 伺服器長(zhǎng)期連線(xiàn)。

mysql_query: 送出一個(gè) query 字串。

mysql_result: 取得查詢(xún) (query) 的結(jié)果。

mysql_select_db: 選擇一個(gè)資料庫(kù)。

mysql_tablename: 取得資料表名稱(chēng)。

odbc函數(shù)

使用odbc函數(shù)需安裝mysql odbc

odbc_autocommit: 開(kāi)關(guān)自動(dòng)更動(dòng)功能。

odbc_binmode: 設(shè)定二進(jìn)位資料處理方式。

odbc_close: 關(guān)閉 odbc 連結(jié)。

odbc_close_all: 關(guān)閉所有 odbc 連結(jié)。

odbc_commit: 更動(dòng) odbc 資料庫(kù)。

odbc_connect: 連結(jié)至 odbc 資料庫(kù)。

odbc_cursor: 取得游標(biāo)名。

odbc_do: 執(zhí)行 sql 指令。

odbc_exec: 執(zhí)行 sql 指令。

odbc_execute: 執(zhí)行預(yù)置 sql 指令。

odbc_fetch_into: 取得傳回的指定列。

odbc_fetch_row: 取得傳回一列。

odbc_field_name: 取得欄位名稱(chēng)。

odbc_field_type: 取得欄位資料形態(tài)。

odbc_field_len: 取得欄位資料長(zhǎng)度。

odbc_free_result: 釋出傳回資料的記憶體。

odbc_longreadlen: 設(shè)定傳回欄的最大值。

odbc_num_fields: 取得欄位數(shù)目。

odbc_pconnect: 長(zhǎng)期連結(jié)至 odbc 資料庫(kù)。

odbc_prepare: 預(yù)置 sql 指令。

odbc_num_rows: 取得傳回列數(shù)目。

odbc_result: 取得傳回資料。

odbc_result_all: 傳回 html 表格資料。

odbc_rollback: 撤消當(dāng)前交易。

odbc_setoption: 調(diào)整 odbc 設(shè)定。

php連接mysql數(shù)據(jù)庫(kù)原理是怎樣的?如果想把一個(gè)已做好的php網(wǎng)站,連接到已安裝好的mysql數(shù)據(jù)庫(kù)怎么做?

外部語(yǔ)言只是與mysql庫(kù)里面的函數(shù)建立關(guān)系,并操作、獲取mysql庫(kù)返回值,,所以php連接mysql原理這個(gè)問(wèn)題沒(méi)有什么好答的,第二個(gè)問(wèn)題,在你的php網(wǎng)站要調(diào)用mysql數(shù)據(jù)庫(kù)內(nèi)容的地方,直接拿mysql函數(shù)庫(kù)中的mysql_conetct等函數(shù)來(lái)操作就行了。

文章名稱(chēng):php連接數(shù)據(jù)庫(kù)的目的,php連接數(shù)據(jù)庫(kù)的目的是什么
分享路徑:http://m.kartarina.com/article46/heishg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶(hù)體驗(yàn)手機(jī)網(wǎng)站建設(shè)、ChatGPT、關(guān)鍵詞優(yōu)化、網(wǎng)站營(yíng)銷(xiāo)、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
主站蜘蛛池模板: 久99久无码精品视频免费播放| 无码少妇精品一区二区免费动态| 亚洲av无码成人精品区一本二本| 人妻丰满熟妇AV无码区乱| 性无码免费一区二区三区在线| 人妻无码一区二区三区免费| 亚洲AV永久无码精品网站在线观看 | 亚洲av中文无码乱人伦在线观看| 成人无码嫩草影院| 久久无码专区国产精品| 丰满少妇被猛烈进入无码| 亚洲AV无码久久精品狠狠爱浪潮| 亚洲av成人无码网站…| 国产aⅴ激情无码久久| 无码办公室丝袜OL中文字幕| 亚洲AV日韩AV高潮无码专区| 免费无码午夜福利片69| 亚洲ⅴ国产v天堂a无码二区| 日韩精品无码Av一区二区| 亚洲日韩av无码中文| 国产做无码视频在线观看浪潮| 久久亚洲精品无码网站| 伊人久久一区二区三区无码| 亚洲av无码无在线观看红杏| 亚洲AV无码成H人在线观看| 无码少妇一区二区三区芒果| 久久无码人妻一区二区三区| 国产激情无码视频在线播放性色| 亚洲äv永久无码精品天堂久久| 亚洲中文字幕久久精品无码2021| 日韩精品专区AV无码| 少妇人妻无码专区视频| 久久老子午夜精品无码| 久久久久久亚洲av成人无码国产 | 无码精品人妻一区二区三区人妻斩| 无码人妻久久一区二区三区蜜桃| 免费无码又爽又刺激高潮的视频| 亚洲av无码片vr一区二区三区| 精品久久久无码人妻中文字幕| 亚洲av永久无码精品三区在线4| 久久亚洲精品无码AV红樱桃|