PHP中如何去連接MySQL數(shù)據(jù)庫(kù)

這篇文章將為大家詳細(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):

PHP中如何去連接MySQL數(shù)據(jù)庫(kù)

就表示已經(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é)果如下所示:

PHP中如何去連接MySQL數(shù)據(jù)庫(kù)PHP中如何去連接MySQL數(shù)據(jù)庫(kù)

上述示例是面向過程的一種方法,下面看一下面向?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)

微信小程序開發(fā)