這篇文章將為大家詳細(xì)講解有關(guān)PHP中如何去連接MySQL數(shù)據(jù)庫(kù),小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、青州網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為青州等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
什么是MySQL
數(shù)據(jù)庫(kù)
MySQL 是一款安全、跨平臺(tái)、高效的,并與多種編程語言緊密結(jié)合的數(shù)據(jù)庫(kù)系統(tǒng)。MySQL 是一種在 Web 上使用在服務(wù)器上運(yùn)行的數(shù)據(jù)庫(kù)系統(tǒng)。其體積小、速度快、總體擁有成本低,MySQL 數(shù)據(jù)庫(kù)可以稱得上是目前運(yùn)行速度最快的 SQL 語言數(shù)據(jù)庫(kù)之一。除了具有許多其他數(shù)據(jù)庫(kù)所不具備的功能外,MySQL 數(shù)據(jù)庫(kù)還是一種完全免費(fèi)的產(chǎn)品,用戶可以直接通過網(wǎng)絡(luò)下載 MySQL 數(shù)據(jù)庫(kù),而不必支付任何費(fèi)用。大家感興趣的話也可以點(diǎn)擊《MySQL最新手冊(cè)教程》進(jìn)行學(xué)習(xí)。
MySQL數(shù)據(jù)庫(kù)的特點(diǎn)
功能強(qiáng)大,支持跨平臺(tái)MySQL 適用于不同的應(yīng)用場(chǎng)合,MySQL 支持至少 20 種以上的開發(fā)平臺(tái),這使得在任何平臺(tái)下編寫的程序都可以進(jìn)行移植,而不需要對(duì)程序做任何的修改。
運(yùn)行速度快,高速是 MySQL 的顯著特性。在 MySQL 中,能夠極快地實(shí)現(xiàn)連接;SQL 函數(shù)使用高度優(yōu)化的類庫(kù)實(shí)現(xiàn),運(yùn)行速度極快。
支持面向?qū)ο?,PHP 支持混合編程方式。編程方式可分為純粹面向?qū)ο?、純粹面向過程、面句對(duì)象與面向過程混合 3 種方式。
安全性高,靈活和安全的權(quán)限與密碼系統(tǒng)。
成本低,MySQL 數(shù)據(jù)庫(kù)是一種完全免費(fèi)的產(chǎn)品,用戶可以直接通過網(wǎng)絡(luò)下載。
支持各種開發(fā)語言,MySQL 為各種流行的程序設(shè)計(jì)語言提供支持,為它們提供了很多的 API 函數(shù)。
數(shù)據(jù)庫(kù)存儲(chǔ)容量大,支持強(qiáng)大的內(nèi)置函數(shù),PHP 中提供了大量?jī)?nèi)置函數(shù),幾乎涵蓋了 Web 應(yīng)用開發(fā)中的所有功能。
數(shù)據(jù)庫(kù)的應(yīng)用
數(shù)據(jù)庫(kù)是一種專門用來管理數(shù)據(jù)資源的系統(tǒng),數(shù)據(jù)其實(shí)就是計(jì)算機(jī)每天打交道需要處理的對(duì)象,無論是文字、圖形還是聲音等等這些都是數(shù)據(jù)的一種形式。在文件式管理方法中,有著諸如不便移植、浪費(fèi)儲(chǔ)存空間等問題,但是數(shù)據(jù)庫(kù)更夠更好的解決這些問題。
數(shù)據(jù)庫(kù)立足于數(shù)據(jù)本身的管理,他將所有的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中,進(jìn)行有序的組織,并且借助數(shù)據(jù)庫(kù)管理系統(tǒng)能夠更方便的使用數(shù)據(jù)庫(kù)中的數(shù)據(jù)??梢岳斫鉃閿?shù)據(jù)庫(kù)就是經(jīng)過了計(jì)算機(jī)整理后的數(shù)據(jù),管理這些數(shù)據(jù)的軟件就是數(shù)據(jù)管理系統(tǒng)。一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)是由數(shù)據(jù)庫(kù)和數(shù)據(jù)管理系統(tǒng)兩個(gè)部分組成的。
在同一個(gè) MySQL 數(shù)據(jù)庫(kù)服務(wù)器中可以創(chuàng)建多個(gè)數(shù)據(jù)庫(kù),如果把每個(gè)數(shù)據(jù)庫(kù)看成是一個(gè)“倉(cāng)庫(kù)”,那么網(wǎng)站中的內(nèi)容數(shù)據(jù)就存儲(chǔ)在這個(gè)倉(cāng)庫(kù)中。而對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的存取及維護(hù)等,都是通過數(shù)據(jù)庫(kù)管理系統(tǒng)軟件進(jìn)行管理的。
連接MySQL數(shù)據(jù)庫(kù)
使用 PHP 操作 MySQL 數(shù)據(jù)庫(kù)是進(jìn)行 Web 開發(fā)的必然要求之一,PHP 中提供了完整的操作 MySQL 數(shù)據(jù)庫(kù)的函數(shù),這些函數(shù)包括了從連接數(shù)據(jù)庫(kù)、執(zhí)行 SQL 語句、處理數(shù)據(jù)結(jié)果集到關(guān)閉數(shù)據(jù)庫(kù)的方方面面。通過這些函數(shù),使基于 MySQL 數(shù)據(jù)庫(kù)的 Web 開發(fā)高效而簡(jiǎn)單。那接下來我們就來看一下PHP怎樣連接到MySQL數(shù)據(jù)庫(kù)。
在連接到數(shù)據(jù)庫(kù)之前,我們要確保開啟了 PHP 中的 mysqli
擴(kuò)展。開啟 mysqli 擴(kuò)展就是將 php.ini
配置文件中extension=mysqli
這一項(xiàng)注釋去掉就行了。我們可以通過 phpinfo()
函數(shù)查看來查看mysqli 擴(kuò)展是否開啟成功:
<?php phpinfo(); ?>
在輸出結(jié)果中出現(xiàn):
就表示已經(jīng)開啟PHP中的 mysqli 擴(kuò)展,在我們確認(rèn)已經(jīng)成功開啟后,就可以通過擴(kuò)展中的mysqli_connect()
函數(shù)來進(jìn)行PHP與MySQL數(shù)據(jù)庫(kù)的連接。
其中mysqli_connect()
函數(shù)的語法格式如下:
mysqli_connect( [string $host = ini_get("mysqli.default_host") [, string $username = ini_get("mysqli.default_user") [, string $password = ini_get("mysqli.default_pw") [, string $dbname = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket") ]]]]]] )
其中需要注意的是:
$host
是可選參數(shù),要連接的服務(wù)器;
$username
是可選參數(shù),登錄所使用的 MySQL 用戶名;
$password
是可選參數(shù),登錄所用的密碼;
$dbname
是可選參數(shù),執(zhí)行查詢時(shí)使用的默認(rèn)數(shù)據(jù)庫(kù);
$port
是可選參數(shù),指定連接到 MySQL 服務(wù)器的端口號(hào);
$socket
是可選參數(shù),指定 socket 或要使用的已命名 pipe;
mysqli_connect()
函數(shù)是 mysqli::__construct() 函數(shù)的別名,所有使用對(duì)象 mysqli() 也可以實(shí)現(xiàn)連接數(shù)據(jù)庫(kù)。
接下來我們通過示例來看一下應(yīng)該怎樣連接,示例如下:
<?php $host = 'localhost'; $username = 'root'; $password = 'root'; $dbname = 'test'; $port = '3306'; $link = @mysqli_connect($host,$username,$password,$dbname,$port); // 連接到數(shù)據(jù)庫(kù) if($link){ mysqli_set_charset($link,'UTF-8'); // 設(shè)置數(shù)據(jù)庫(kù)字符集 $sql = 'select * from user'; // SQL 語句 $result = mysqli_query($link, $sql); // 執(zhí)行 SQL 語句,并返回結(jié)果 $data = mysqli_fetch_all($result); // 從結(jié)果集中獲取所有數(shù)據(jù) mysqli_close($link); }else{ die('數(shù)據(jù)庫(kù)連接失敗!'); } echo '<pre>'; print_r($data); ?>
輸出結(jié)果會(huì)獲取數(shù)據(jù)庫(kù)中你所設(shè)置的字符集,若是沒有連接上兩種輸出結(jié)果如下所示:
上述示例是面向過程的一種方法,下面看一下面向?qū)ο蟮姆椒ǎ?/p>
<?php $host = 'localhost'; $username = 'root'; $password = 'root'; $dbname = 'test'; $mysql = new Mysqli($host, $username, $password, $dbname); if($mysql -> connect_errno){ die('數(shù)據(jù)庫(kù)連接失?。?#39;.$mysql->connect_errno); }else{ $mysql -> set_charset('UTF-8'); // 設(shè)置數(shù)據(jù)庫(kù)字符集 $sql = 'select * from user'; // SQL 語句 $result = $mysql -> query($sql); $data = $result -> fetch_all(); $mysql -> close(); } echo '<pre>'; print_r($data); ?>
輸出結(jié)果與上述示例中的輸出結(jié)果一致。
想要關(guān)閉連接的話,一般情況下,連接會(huì)在腳本運(yùn)行完畢后自動(dòng)關(guān)閉,當(dāng)然也可以使用代碼來關(guān)閉連接,示例如下:
$conn->close();
上述是面向?qū)ο蠓椒〞r(shí)的關(guān)閉連接代碼,下面看一下面向過程方法的代碼,示例如下:
mysqli_close($conn);
關(guān)于“PHP中如何去連接MySQL數(shù)據(jù)庫(kù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
網(wǎng)站標(biāo)題:PHP中如何去連接MySQL數(shù)據(jù)庫(kù)
網(wǎng)頁(yè)鏈接:http://muchs.cn/article24/gddcje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、微信小程序、靜態(tài)網(wǎng)站、企業(yè)建站、網(wǎng)站收錄、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)