8-1
連上資料庫
一、連線到MySQL資料庫
- 要儲存東西到資料庫,必須先連線資料庫,以便PHP對MySQL執行SQL語法。
- 注意!PHP7已經不支援MySQL系列函數,而是改用MySQLi,或者PDO物件。
- 使用PDO物件的好處是方便介接其他資料庫,而用MySQLi的優點則是其運作和早期MySQL較像,熟悉MySQL函數的話,幾乎可以無痛轉移。
- 底下還是以MySQLi為範例。
- 基本MySQL資料庫連線方法:
function link_db()
{
$mysqli = new mysqli(_DB_LOCATON, _DB_ID, _DB_PASS, _DB_NAME);
if ($mysqli->connect_error) {
die('無法連上資料庫:' . $mysqli->connect_error);
}
$mysqli->set_charset("utf8");
return $mysqli;
}
- 我們將之做成函數,並且傳出$mysqli物件,以便繼續利用。
- 由於該函數可能到處都會用到,所以,另外建立一個function.php檔案(方便其他php引入),並將該函數放裡面,好讓其他檔案可以隨時取用該函數。
- 我們可以利用常數來作為參數。
二、常數
- 常數是一定設定就不會變,和變數可以隨時指派其值不一樣。
- 常數可以直接在函數中使用
- 一般常數會以大寫前面加底線來辨識(實際上,不加底線或是用小寫也是可以)。
三、將資料庫設定放入共同設定檔 config.php
- 由於我們有管理員帳密,這裡又有資料庫帳密設定,這些通常好幾個頁面都會用到,所以,可以獨立一個頁面來放這些設定,以方便統一管理。
- 我們設定一個 config.php,內容如下:
<?php
$admin_id = 'tad';
$admin_pass = '12345';
//資料庫位址
define('_DB_LOCATON', 'localhost');
//資料庫帳號
define('_DB_ID', 'root');
//資料庫密碼
define('_DB_PASS', '12345');
//資料庫名稱
define('_DB_NAME', 'signup');
- 管理員帳密用變數,資料庫用常數,這只是為了做範例,您也可以一律用常數,或一律用變數。