亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

PHP MySQL:連接MySQL數(shù)據(jù)庫(kù)

來(lái)源:藏色散人 發(fā)布時(shí)間:2018-11-03 14:51:08 閱讀量:970

在連接MySQL數(shù)據(jù)庫(kù)之前,您必須指定以下信息:

MySQL數(shù)據(jù)源名稱或DSN:指定MySQL數(shù)據(jù)庫(kù)服務(wù)器的地址。您可以使用IP地址或服務(wù)器名稱,例如,127.0.0.1 或 localhost

MySQL數(shù)據(jù)庫(kù)名稱:表示要連接的數(shù)據(jù)庫(kù)的名稱。

用戶名和密碼:指定用于連接MySQL數(shù)據(jù)庫(kù)服務(wù)器的MySQL用戶的用戶名和密碼。該帳戶必須具有足夠的權(quán)限才能訪問上面指定的數(shù)據(jù)庫(kù)。

我們將使用:

本地MySQL數(shù)據(jù)庫(kù)服務(wù)器,這樣DSN是localhost。

在classicmodels作為樣本數(shù)據(jù)庫(kù)。

root密碼空白的帳戶,只是為了演示。

連接MySQL步驟

首先,為方便起見,我們將為數(shù)據(jù)庫(kù)配置創(chuàng)建一個(gè)新的PHP文件,dbconfig.php該文件 包含所有已配置的參數(shù):

1

2

3

4

5

<?php

    $host = 'localhost';

    $dbname = 'classicmodels';

    $username = 'root';

    $password = '';

其次,我們創(chuàng)建一個(gè)名為的新PHP文件 phpmysqlconnect.php:

1

2

3

4

5

6

7

8

9

<?php

require_once 'dbconfig.php';

  

try {

    $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);

    echo "Connected to $dbname at $host successfully.";

} catch (PDOException $pe) {

    die("Could not connect to the database $dbname :" . $pe->getMessage());

}

腳本如何工作

dbconfig.php使用require_once 函數(shù)將文件包含在腳本中 。

在try塊中,我們創(chuàng)建了一個(gè)具有三個(gè)參數(shù)的新PDO對(duì)象:連接字符串,用戶名和密碼。連接字符串由文件中的變量$host和$dbname變量組成dbconfig.php。

如果與MySQL數(shù)據(jù)庫(kù)的連接建立成功,我們會(huì)顯示成功消息。如果有任何錯(cuò)誤或異常,PHP會(huì)發(fā)出PDOException 包含詳細(xì)錯(cuò)誤消息的內(nèi)容。我們調(diào)用對(duì)象的getMesage() 方法PDOException來(lái)獲取要顯示的詳細(xì)消息。

然后我們從網(wǎng)絡(luò)瀏覽器測(cè)試腳本。

php-mysql-connect.png

它按預(yù)期工作。我們已經(jīng)成功連接到MySQL服務(wù)器。

讓我們嘗試更改代碼中的某些內(nèi)容,使腳本顯示錯(cuò)誤消息。

如果將$username變量設(shè)置為空,則會(huì)收到以下錯(cuò)誤消息:

error.png

錯(cuò)誤消息顯示: 

1

Access denied for user ''@'localhost' to database 'classicmodels'

因?yàn)槲覀冊(cè)赾lassicmodels數(shù)據(jù)庫(kù)中沒有任何空白用戶。

當(dāng)腳本結(jié)束時(shí),PHP會(huì)自動(dòng)關(guān)閉與MySQL數(shù)據(jù)庫(kù)服務(wù)器的連接。如果要顯式關(guān)閉數(shù)據(jù)庫(kù)連接,則需要將PDO對(duì)象設(shè)置null為如下:

1

$conn = null;

在本教程中,您已經(jīng)學(xué)習(xí)了如何使用PHP PDO對(duì)象連接到MySQL并處理連接MySQL數(shù)據(jù)庫(kù)時(shí)可能發(fā)生的任何異常。


標(biāo)簽: 數(shù)據(jù)庫(kù)
分享:
評(píng)論:
你還沒有登錄,請(qǐng)先