PHP連接mysql數(shù)據(jù)庫是PHP新手們必須要掌握的一項技能,只要掌握了PHP對數(shù)據(jù)庫進行增刪改查等操作,就可以寫出一些簡單且常見的程序。如留言表,新聞頁等。本篇文章主要給大家詳細介紹PHP連接Mysql數(shù)據(jù)庫的兩種常用方法。
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,赤坎企業(yè)網(wǎng)站建設,赤坎品牌網(wǎng)站建設,網(wǎng)站定制,赤坎網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,赤坎網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
下面我們通過具體的代碼示例來給大家詳細介紹兩種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ù)表進行查詢檢驗。在上述代碼中,我們要先創(chuàng)建一些需要用到的變量,如數(shù)據(jù)庫用戶名、數(shù)據(jù)庫名密碼等。然后我們用面向對象的方式連接了名為php的數(shù)據(jù)庫。再通過if條件語句,connect-error方法判斷PHP連接數(shù)據(jù)庫是否成功。
這里我們先登錄phpmyadmin看看是否存在php數(shù)據(jù)庫,從下圖可以知道是存在php這個數(shù)據(jù)庫的。
最后通過瀏覽器訪問,結果如下圖:
從圖中可以得知,我們成功地連接了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步驟以上就是關于PHP連接數(shù)據(jù)庫查詢數(shù)據(jù)的兩種常用方法詳解,更多相關教程請訪問php中文網(wǎng)mysql視頻教程,歡迎參考學習
1、用 mysql_connect 的方法,PHP7會報致命錯誤
$conn= mysql_connect('localhost','xueyanxiang','xueyanxiang');
Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue-run() #1 {main} thrown in? /Users/xueyanxiang/work/test/xue.php ?on line? 31
原因是:
PHP5中使用mysql_connect()函數(shù)進行連接,但實際上,PHP5.5開始,MySQL就不推薦使用了,屬于廢棄函數(shù)
PHP7中貌似已經(jīng)徹底不支持了,根據(jù)官網(wǎng)說明,取而代之的是如下兩個:
本擴展自 PHP 5.5.0 起已廢棄,并在將來會被移除。應使用?MySQLi?或?PDO_MySQL?擴展來替換之。參見?MySQL:選擇
API?指南以及相關 FAQ?以獲取更多信息。用以替代本函數(shù)的有:
mysqli_connect()
PDO::__construct()
使用時,不要在使用mysql_connect了,可以換用mysqli_connect(),用法基本類似吧,據(jù)說是面向對象的庫。
php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll這個拓展了。
2、可以使用mysqli,對象化,方法名與被廢棄的類似
$conn= mysqli_connect('localhost','xueyanxiang','xueyanxiang');
3、PDO工具,推薦使用
$dbh= "mysql:host=localhost;dbname=test";
$db= new PDO($dbh,'xueyanxiang','xueyanxiang');
$objQuery= $db-query("select * from user;");
$res= $objQuery-fetchAll(PDO::FETCH_ASSOC);
不填寫參數(shù)的話,默認是關聯(lián)和索引都有,如下圖
大概的基本流程如下:
連接數(shù)據(jù)庫,再加一個判斷。
選擇數(shù)據(jù)庫
讀取表
輸出表中數(shù)據(jù)
下面是代碼:
?php
$con
=?mysql_connect("localhost","root","abc123");
/*
localhost
是服務器
root
是用戶名?abc123
是密碼*/?
if
(!$con)
{
die("數(shù)據(jù)庫服務器連接失敗");
}
/*?這就是一個邏輯非判斷,如果錯誤就輸出括號里的字符串
*/?
@mysql_select_db("a",?$con);?
/*?選擇mysql服務器里的一個數(shù)據(jù)庫,假設你的數(shù)據(jù)庫名為?a*/?
$sql?=?"SELECT?*?FROM
qq";?
/*
定義變量sql,?"SELECT?*?FROM?qq"
是SQL指令,表示選取表qq中的數(shù)據(jù)?*/?
$result
=?mysql_query($sql);
//執(zhí)行SQL語句,獲得結果集?
/*下面就是選擇性的輸出打印了,由于不清楚你的具體情況給你個表格打印吧*/
//打印表格?
echo
"table
border=1";?
while(
$row
=
mysql_fetch_array($result)
)
/*逐行獲取結果集中的記錄,得到數(shù)組row?*/
{
/*數(shù)組row的下標對應著數(shù)據(jù)庫中的字段值?*/
$id
=
$row['id'];?
$name
=
$row['name'];?
$sex
=
$row['sex'];?
echo
"tr";?
echo
"td$id/td";?
echo
"td$name/td";?
echo
"td$sex/td";?
echo
"/tr";?
}?
echo
"table
/";?
?
如果你的switch是表頭,就定義這個表頭字段,然后輸出。
你可以去后盾人平臺看看,里面的東西不錯
PHP訪問MySQL數(shù)據(jù)庫:
因為連接數(shù)據(jù)庫需要較長的時間和較大的資源開銷,所以如果在多個網(wǎng)頁中都要頻繁地訪問數(shù)據(jù)庫,則可以建立與數(shù)據(jù)庫的持續(xù)連接。即調用mysql_pconnect()代替mysql_connect()。
基本步驟:
1.連接服務器:mysql_connect();
2.選擇數(shù)據(jù)庫:mysql_select_db();
3.執(zhí)行SQL語句:mysql_query();
查詢:select
顯示:show
插入:insert
into
更新:update
刪除:delete
4.關閉結果集:mysql_free_result($result);
5.關閉數(shù)據(jù)庫:mysql_close($link);