PHP中怎樣去連接MySQL資料庫?

WBOY
發布: 2023-04-10 18:40:01
原創
8437 人瀏覽過

在先前的文章中為大家帶來了《怎麼使用PHP中的spl_autoload_register() 和 __autoload() 函數? 》,其中詳細的介紹了PHP中這兩種函數的用法,本篇我們來看看PHP中怎麼去連接資料庫。希望對大家有幫助!

PHP中怎樣去連接MySQL資料庫?

在我們的日常開發中,資料庫是一個網站必不可少的一部分,PHP作為一種網頁程式設計技術,也必不可少的要與資料庫打交道。但是資料庫的種類很多,哪一種資料庫是最適合PHP的呢?

透過PHP可以連接和操作資料庫,PHP可以連接的資料庫種類較多,其中MySQL資料庫與PHP相容性好,搭配使用也是最廣泛的,MySQL資料庫是跟PHP搭配使用最流行的開放資料庫系統,那接下來我們一起來學習看看什麼是MySQL資料庫以及PHP應該怎麼連接它。

什麼是MySQL資料庫

#MySQL 是一款安全性、跨平台、高效能的,並與多種程式語言緊密結合的資料庫系統。 MySQL 是一種在 Web 上使用在伺服器上執行的資料庫系統。體積小、速度快、整體擁有成本低,MySQL 資料庫可稱得上是目前運作速度最快的 SQL 語言資料庫之一。除了具有許多其他資料庫所沒有的功能外,MySQL 資料庫也是完全免費的產品,使用者可以直接透過網路下載 MySQL 資料庫,而不必支付任何費用。大家有興趣的話也可以點選《MySQL最新手冊教學》學習。

MySQL資料庫的特性

  • #功能強大,支援跨平台MySQL 適用於不同的應用場合,MySQL 支援至少20 種以上的開發平台,這使得在任何平台下編寫的程式都可以進行移植,而不需要對程式做任何的修改。

  • 運行速度快,高速是 MySQL 的顯著特性。在 MySQL 中,能夠極快地實現連接;SQL 函數使用高度最佳化的類別庫實現,運行速度極快。

  • 支援物件導向,PHP 支援混合程式設計方式。程式設計方式可分為純粹物件導向、純粹過程導向、面句物件與流程面混合 3 種方式。

  • 安全性高,靈活且安全的權限與密碼系統。

  • 成本低,MySQL 資料庫是完全免費的產品,使用者可以直接透過網路下載。

  • 支援各種開發語言,MySQL 為各種流行的程式設計語言提供支持,為它們提供了許多的API 函數。

  • 資料庫儲存容量大,支援強大的內建函數,PHP 中提供了大量內建函數,幾乎涵蓋了Web 應用開發中的所有功能。

資料庫的應用程式

#資料庫是一種專門用來管理資料資源的系統,資料其實就是電腦每天打交道需要處理的對象,無論是文字、圖形或聲音等等這些都是資料的一種形式。在文件式管理方法中,有著諸如不便移植、浪費儲存空間等問題,但是資料庫更夠更好的解決這些問題。

資料庫立足於資料本身的管理,他將所有的資料保存到資料庫中,進行有序的組織,並且借助資料庫管理系統能夠更方便的使用資料庫中的資料。可以理解為資料庫就是經過了電腦整理後的數據,管理這些數據的軟體就是數據管理系統。一個資料庫系統是由資料庫和資料管理系統兩個部分組成的。

在同一個 MySQL 資料庫伺服器中可以建立多個資料庫,如果把每個資料庫看成是一個“倉庫”,那麼網站中的內容資料就儲存在這個倉庫中。而資料庫中資料的存取及維護等,都是透過資料庫管理系統軟體進行管理的。

連接MySQL資料庫

使用PHP 操作MySQL 資料庫是進行Web 開發的必然要求之一,PHP 中提供了完整的操作MySQL資料庫的函數,這些函數包括了從連接資料庫、執行SQL 語句、處理資料結果集到關閉資料庫的方方面面。透過這些函數,讓基於 MySQL 資料庫的 Web 開發高效且簡單。那接下來我們就來看看PHP怎麼連接到MySQL資料庫。

在連接到資料庫之前,我們要確保開啟了 PHP 中的 mysqli 擴充。開啟 mysqli 擴充功能就是將 php.ini 設定檔中extension=mysqli這一項註解去掉就行了。我們可以透過 phpinfo() 函數查看來查看mysqli 擴充功能是否開啟成功:

<?php
phpinfo();
?>
登入後複製

在輸出結果中出現:

PHP中怎樣去連接MySQL資料庫?

就表示已經開啟PHP中的mysqli 擴展,在我們確認已經成功開啟後,就可以透過擴充中的mysqli_connect() 函數來進行PHP與MySQL資料庫的連線。

其中mysqli_connect() 函数的语法格式如下:

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 是可选参数,要连接的服务器;

  • $username 是可选参数,登录所使用的 MySQL 用户名;

  • $password 是可选参数,登录所用的密码;

  • $dbname 是可选参数,执行查询时使用的默认数据库;

  • $port 是可选参数,指定连接到 MySQL 服务器的端口号;

  • $socket 是可选参数,指定 socket 或要使用的已命名 pipe;

  • mysqli_connect()函数是 mysqli::__construct() 函数的别名,所有使用对象 mysqli() 也可以实现连接数据库。

接下来我们通过示例来看一下应该怎样连接,示例如下:

<?php
    $host     = &#39;localhost&#39;;
    $username = &#39;root&#39;;
    $password = &#39;root&#39;;
    $dbname   = &#39;test&#39;;
    $port     = &#39;3306&#39;;
    $link     = @mysqli_connect($host,$username,$password,$dbname,$port);   // 连接到数据库
    if($link){
        mysqli_set_charset($link,&#39;UTF-8&#39;);      // 设置数据库字符集
        $sql    = &#39;select * from user&#39;;         // SQL 语句
        $result = mysqli_query($link, $sql);    // 执行 SQL 语句,并返回结果
        $data   = mysqli_fetch_all($result);    // 从结果集中获取所有数据
        mysqli_close($link);
    }else{
        die(&#39;数据库连接失败!&#39;);
    }
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($data);
?>
登入後複製

输出结果会获取数据库中你所设置的字符集,若是没有连接上两种输出结果如下所示:

PHP中怎樣去連接MySQL資料庫?PHP中怎樣去連接MySQL資料庫?

上述示例是面向过程的一种方法,下面看一下面向对象的方法:

<?php
    $host     = &#39;localhost&#39;;
    $username = &#39;root&#39;;
    $password = &#39;root&#39;;
    $dbname   = &#39;test&#39;;
    $mysql    = new Mysqli($host, $username, $password, $dbname);
    if($mysql -> connect_errno){
        die(&#39;数据库连接失败:&#39;.$mysql->connect_errno);
    }else{
        $mysql -> set_charset(&#39;UTF-8&#39;); //  设置数据库字符集
        $sql = &#39;select * from user&#39;;         // SQL 语句
        $result = $mysql -> query($sql);
        $data = $result -> fetch_all();
        $mysql -> close();
    }
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($data);
?>
登入後複製

输出结果与上述示例中的输出结果一致。

想要关闭连接的话,一般情况下,连接会在脚本运行完毕后自动关闭,当然也可以使用代码来关闭连接,示例如下:

$conn->close();
登入後複製

上述是面向对象方法时的关闭连接代码,下面看一下面向过程方法的代码,示例如下:

mysqli_close($conn);
登入後複製

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上是PHP中怎樣去連接MySQL資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!