在能夠訪問并處理數(shù)據(jù)庫中的數(shù)據(jù)之前,必須創(chuàng)建到達(dá)數(shù)據(jù)庫的連接。
成都創(chuàng)新互聯(lián)成立于2013年,先為云縣等服務(wù)建站,云縣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為云縣企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
在 PHP 中,這個任務(wù)通過 mysql_connect() 函數(shù)完成。
工具原料:電腦+php+mysql
php鏈接mysql的方法如下:
方法一、
先做出如下假設(shè)(也適用與方法二和方法三)
$username=your_name;
$userpass=your_pass;
$dbhost=localhost;
$dbdatabase=your_database;
//生成一個連接
$db_connect=mysql_connect($dbhost,$username,$userpass) or die("Unable to connect to the MySQL!");
//選擇一個需要操作的數(shù)據(jù)庫
mysql_select_db($dbdatabase,$db_connect);
//執(zhí)行MySQL語句
$result=mysql_query("SELECT id,name FROM user");
//提取數(shù)據(jù)
$row=mysql_fetch_row($result);
注意事項:代碼注釋已經(jīng)說明了一切。不過這里還需要做一些補充。
①在mysql_connect()、mysql_select_db()等函數(shù)之前使用@(錯誤控制運算符),可以忽略掉系統(tǒng)產(chǎn)生的錯誤信息,然后用die()來自定義錯誤信息;
②提取數(shù)據(jù)的時候,除了上面的mysql_fetch_row,常見的還有mysql_fetch_assoc和mysql_fetch_array,具體差別請查閱PHP Manual;
③對于mysql_query()函數(shù)的返回值,如果執(zhí)行的語句有返回值(如SELECT、SHOW、DESCRIBE等),則返回相應(yīng)數(shù)據(jù)(成功時)或FALSE(失敗時);如果執(zhí)行的語句沒有返回值(如DELETE、DROP、INSERT、UPDATE等),則返回TRUE(成功時)或FALSE(失敗時)。
方法二、面向?qū)ο?/p>
其實這種方法和普通方法非常類似,只是把相應(yīng)的函數(shù)換成了面向?qū)ο蠓椒?,直接看代碼。
$db=new mysqli($dbhost,$username,$userpass,$dbdatabase);
if(mysqli_connect_error()){
echo 'Could not connect to database.';
exit;
}
$result=$db-query("SELECT id,name FROM user");
$row=$result-fetch_row();
這里用到的是mysqli,意思就是mysql的擴(kuò)展,既可以通過面向過程的方式也可以通過面向?qū)ο蟮姆绞脚c數(shù)據(jù)庫進(jìn)行交互,唯一不同的是調(diào)用函數(shù)(對象方法)的方式不一樣。
方法三、PDO方法
PDO其實是PHP Database Objects的縮寫,中文即PHP數(shù)據(jù)庫對象。它提供了一種統(tǒng)一的PHP與數(shù)據(jù)庫交互的方法。
這是目前流行的一種連接數(shù)據(jù)庫的方法。它的優(yōu)勢在于:只要正確提供數(shù)據(jù)源,余下對于數(shù)據(jù)庫的基本操作都是一樣的。也就是說,同一段代碼既可以同MySQL交互,也可以和SQLite3交互,當(dāng)然也可以和PostgreSQL進(jìn)行交互,前提是你提供了正確的數(shù)據(jù)源。下面看一下連接MySQL的代碼:
$dsn='mysql:host='.$dbhost.';dbname='.$dbdatabase.';'
$dbh=new PDO($dsn,$username,$userpass);
如果是SQLite3,直接使用下面的代碼:
$dsn='sqlite3:"C:\sqlite\user.db"';
$dbh=new PDO($dsn);
如果是PostgreSQL,下面的代碼能夠?qū)Ω叮?/p>
$dsn='pgsql:host='.$dbhost.' port=5432 dbname='.$dbdatabase.' user='.$username.' password='.$userpass;
$dbh=new PDO($dsn);
跟數(shù)據(jù)庫成功建立連接之后,下面就只需要從數(shù)據(jù)庫獲取數(shù)據(jù)或插入更新數(shù)據(jù),實例代碼如下:
$stmt=$dbh-query('SELECT id,name FROM user');
$row=$stmt-fetch();
綜上所述有三種方法鏈接mysql
其實不用一開始就關(guān)心conn.php,建議先寫一個最簡單的php腳本來驗證MYSQL數(shù)據(jù)庫的連接、查詢、關(guān)閉功能是否正常,測試腳本示例如下:
?php
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
if ($mysqli-connect_error) {
die('Connect Error (' . $mysqli-connect_errno . ') '
. $mysqli-connect_error);
}
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Success... ' . $mysqli-host_info . "\n";
$mysqli-close();
?
如果測試通過了,我們再來看為什么需要conn.php文件——不可能把數(shù)據(jù)的IP地址、用戶名、密碼等參數(shù)寫入每一個PHP文件,辦法就是做一個簡單的conn.php來存放這些內(nèi)容,所有需要連接MYSQL的程序都引用conn.php進(jìn)行工作,所以conn.php中只要有如下一行即可:
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
PHP連接mysql數(shù)據(jù)庫是PHP新手們必須要掌握的一項技能,只要掌握了PHP對數(shù)據(jù)庫進(jìn)行增刪改查等操作,就可以寫出一些簡單且常見的程序。如留言表,新聞頁等。本篇文章主要給大家詳細(xì)介紹PHP連接Mysql數(shù)據(jù)庫的兩種常用方法。
下面我們通過具體的代碼示例來給大家詳細(xì)介紹兩種PHP連接mysql數(shù)據(jù)庫的方法。
mysqli連接數(shù)據(jù)庫和pdo連接數(shù)據(jù)庫。
第一種方法:使用mysqli連接mysql數(shù)據(jù)庫
代碼實例如下:
?php
$host='127.0.0.1';
$user='root';
$password='root';
$dbName='php';
$link=new mysqli($host,$user,$password,$dbName);
if ($link-connect_error){
die("連接失?。?.$link-connect_error);
}
$sql="select * from admins";
$res=$link-query($sql);
$data=$res-fetch_all();
var_dump($data);
在經(jīng)過一系列的連接操作后,我們再創(chuàng)建一個sql語句對其中數(shù)據(jù)表進(jìn)行查詢檢驗。在上述代碼中,我們要先創(chuàng)建一些需要用到的變量,如數(shù)據(jù)庫用戶名、數(shù)據(jù)庫名密碼等。然后我們用面向?qū)ο蟮姆绞竭B接了名為php的數(shù)據(jù)庫。再通過if條件語句,connect-error方法判斷PHP連接數(shù)據(jù)庫是否成功。
這里我們先登錄phpmyadmin看看是否存在php數(shù)據(jù)庫,從下圖可以知道是存在php這個數(shù)據(jù)庫的。
最后通過瀏覽器訪問,結(jié)果如下圖:
從圖中可以得知,我們成功地連接了php數(shù)據(jù)庫,并且能查詢出數(shù)據(jù)表信息。
第二種方法:使用PDO連接數(shù)據(jù)庫
代碼示例如下:
?php
$host='127.0.0.1';
$user='root';
$password='root';
$dbName='php';
$pdo=new PDO("mysql:host=$host;dbname=$dbName",$user,$password);
$sql="select * from admins";
$data=$pdo-query($sql)-fetch();
var_dump($data);
PHP連接Mysql步驟以上就是關(guān)于PHP連接數(shù)據(jù)庫查詢數(shù)據(jù)的兩種常用方法詳解,更多相關(guān)教程請訪問php中文網(wǎng)mysql視頻教程,歡迎參考學(xué)習(xí)
方法/步驟
1
登錄到phpMyAdmin
2
新建一個要導(dǎo)入的數(shù)據(jù)庫,點擊“+new”
3
如圖,分別填寫數(shù)據(jù)庫名稱,以及選擇數(shù)據(jù)庫的排序規(guī)則,
4
完成步驟3,點擊“創(chuàng)建”
5
完成步驟4,從右側(cè)就可以看到我們新創(chuàng)建的數(shù)據(jù)庫了,如果沒有立即顯示,刷新即可立馬顯示了。
6
單擊我們新創(chuàng)建的數(shù)據(jù)庫,
7
然后,我們選擇“導(dǎo)入”,
8
完成步驟7,我們點擊“選擇文件”,
9
點擊了“選擇文件”之后,就會出現(xiàn)如圖所示的彈出框,我們選擇要導(dǎo)入的sql就可以了,后綴名可以是.sql,也可以是壓縮文件.zip。如圖,選擇好文件之后,點擊“確定”就可以了
10
完成步驟⑨,你就可以從剛才的頁面中看到自己上傳的文件了,如圖所示,其余選項默認(rèn)就可以了,然后點擊“執(zhí)行”就可以了。
11
這個時候,你就可以看到你的數(shù)據(jù)已經(jīng)導(dǎo)入到你新創(chuàng)建的數(shù)據(jù)庫中了
PHP文件夾下的php.ini配置文件下找到php_mysql.dll 和php_mysqli.dll這兩個擴(kuò)展把前面的;去掉,既然后重啟服務(wù)器,用 mysql_connect來新建一個到mysql的連接
名稱欄目:mysql怎么在php mysql怎么在PHP中打開
轉(zhuǎn)載來源:http://jinyejixie.com/article48/dochsep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、網(wǎng)站排名、用戶體驗、網(wǎng)站導(dǎo)航、全網(wǎng)營銷推廣、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)