MySQL 連接
使用mysql二進(jìn)制方式連接
您可以使用MySQL二進(jìn)制方式進(jìn)入到mysql命令提示符下來(lái)連接MySQL數(shù)據(jù)庫(kù)。
實(shí)例
以下是從命令行中連接mysql服務(wù)器的簡(jiǎn)單實(shí)例:
mysql -u root -p
Enter password:******
在登錄成功后會(huì)出現(xiàn) mysql> 命令提示窗口,你可以在上面執(zhí)行任何 SQL 語(yǔ)句。
以上命令執(zhí)行后商乎,登錄成功輸出結(jié)果如下:
在以上實(shí)例中,我們使用了root用戶登錄到mysql服務(wù)器泌枪,當(dāng)然你也可以使用其他mysql用戶登錄桦山。
如果用戶權(quán)限足夠,任何用戶都可以在mysql的命令提示窗口中進(jìn)行SQL操作踏堡。
退出 mysql> 命令提示窗口可以使用 exit 命令猎唁,如下所示:
mysql> exit;
Bye
使用 PHP 腳本連接 MySQL
PHP 5 及以上版本建議使用以下方式連接 MySQL :
- MySQLi extension ("i" 意為 improved)
- PDO (PHP Data Objects)
在 PHP 早期版本中我們使用 MySQL 擴(kuò)展。但該擴(kuò)展在 2012 年開始不建議使用顷蟆。
我是該用 MySQLi 诫隅,還是 PDO?
如果你需要一個(gè)簡(jiǎn)短的回答,即 "你習(xí)慣哪個(gè)就用哪個(gè)"帐偎。
MySQLi 和 PDO 有它們自己的優(yōu)勢(shì):
PDO 應(yīng)用在 12 種不同數(shù)據(jù)庫(kù)中逐纬, MySQLi 只針對(duì) MySQL 數(shù)據(jù)庫(kù)。
所以削樊,如果你的項(xiàng)目需要在多種數(shù)據(jù)庫(kù)中切換豁生,建議使用 PDO ,這樣你只需要修改連接字符串和部分查詢語(yǔ)句即可漫贞。 使用 MySQLi, 如果不同數(shù)據(jù)庫(kù)甸箱,你需要重新編寫所有代碼,包括查詢迅脐。
兩者都是面向?qū)ο? 但 MySQLi 還提供了 API 接口芍殖。
兩者都支持預(yù)處理語(yǔ)句。 預(yù)處理語(yǔ)句可以防止 SQL 注入谴蔑,對(duì)于 web 項(xiàng)目的安全性是非常重要的豌骏。
PDO 連接 MySQL 實(shí)例
小編比較習(xí)慣用PDO 連接 MySQL 龟梦,
接下來(lái)就用PDO 連接 MySQL 與大家共同學(xué)習(xí)下面的章節(jié)。
實(shí)例
<?php
$dbms='mysql'; //數(shù)據(jù)庫(kù)類型
$host='localhost'; //數(shù)據(jù)庫(kù)主機(jī)名
$dbName='test'; //使用的數(shù)據(jù)庫(kù)
$user='root'; //數(shù)據(jù)庫(kù)連接用戶名
$pass=''; //對(duì)應(yīng)的密碼
$dsn="$dbms:host=$host;dbname=$dbName";
try {
$dbh = new PDO($dsn,$user,$pass); //初始化一個(gè)PDO對(duì)象
echo "連接成功<br/>";
/*你還可以進(jìn)行一次搜索操作
foreach ($dbh->query('SELECT * from FOO') as $row) {
print_r($row); //你可以用 echo($GLOBAL); 來(lái)看到這些值
}
*/
$dbh = null;
} catch (PDOException $e) {
die("Error!:" . $e->getMessage() . "<br>");
}
//默認(rèn)這個(gè)不是長(zhǎng)連接窃躲,如果需要數(shù)據(jù)庫(kù)長(zhǎng)連接变秦,需要最后加一個(gè)參數(shù):array(PDO::ATTR_PERSISTENT => true) 變成這樣:
$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));
?>
一起學(xué)習(xí)一起進(jìn)步,寫的不好見(jiàn)諒框舔。