php連接mysql之mysql_connect()與mysqli_connect()的區(qū)別
實例
打開一個到 MySQL 服務(wù)器的新的連接:
<?php $con=mysqli_connect("localhost","wrong_user","my_password","my_db"); // 檢查連接 if (!$con) { die("連接錯誤: " . mysqli_connect_error()); } ?>
定義和用法
mysqli_connect() 函數(shù)打開一個到 MySQL 服務(wù)器的新的連接。
語法
mysqli_connect(host,username,password,dbname,port,socket);
參數(shù) | 描述 |
---|---|
host | 可選。規(guī)定主機名或 IP 地址。 |
username | 可選。規(guī)定 MySQL 用戶名。 |
password | 可選。規(guī)定 MySQL 密碼。 |
dbname | 可選。規(guī)定默認(rèn)使用的數(shù)據(jù)庫。 |
port | 可選。規(guī)定嘗試連接到 MySQL 服務(wù)器的端口號。 |
socket | 可選。規(guī)定 socket 或要使用的已命名 pipe。 |
技術(shù)細(xì)節(jié)
返回值: | 返回一個代表到 MySQL 服務(wù)器的連接的對象。 |
---|---|
PHP 版本: | 5+ |
php連接mysql,為什么用mysqli_connect()而不用mysql_connect()
原先在做網(wǎng)頁時,php連接Mysql數(shù)據(jù)庫時,總使用mysql_connect()連接,使用如下:
<?php $conn=mysql_connect("localhost","root","root");if(!$conn){die('Could not connect:'.mysql_error());} else echo("it done well.It has been connected well"); ?>
mysqli_connect()的使用如下:
<?php $conn=mysqli_connect("localhost","root","root"); if(!$conn){ die('Could not connect:'.mysqli_error()); } else echo("it done well.It has been connected well"); ?>
1,這里面的mysql_connect("","",""),三個參數(shù)都不能少。第一個參數(shù)一般是本地站點,比如localhost,127.0.0.1。但也可以使用比如www.baidu.com,發(fā)現(xiàn)出現(xiàn)“Could not connect: 由于連接方在一段時間后沒有正確答復(fù)或連接的主機沒有反應(yīng),連接嘗試失敗?!碑?dāng)沒有登錄密碼時,可以采用mysql_connect("localhost","root","")或者mysql_connect("localhost","root")。后者直接省略了登錄密碼參數(shù),其前面的逗號需要一并省略
2,mysql_connect總提示即將被廢棄,建議使用mysqli。這個怎么使用還沒有使用。
3,基本的if......else......;注意分號表示這一命令語句的結(jié)束。
由于總是提示mysql_connect()基本上已經(jīng)廢棄,建議使用mysqli_connect()。將其改為mysqli_connect()后便沒有提示了。
修改后的為:
<php $con = mysqli_connect("localhost","root","root"); if(!$con) { die('Could not connect'.mysqli_error()); } else echo("it done well . It has been connected well "); ?>
如果一切輸入正確倒不會出現(xiàn)什么問題。但如果輸入錯誤,mysql_conncet()可以給出錯誤原因,但mysqli_connect()不可以。不知道時什么原因。
php高版本不再使用mysql_connect()來連接數(shù)據(jù)庫
想用php生成一個mysql數(shù)據(jù)字典導(dǎo)出來,用到下面代碼會
$mysql_conn = mysql_connect ( "$dbserver", "$dbusername", "$dbpassword" ) or die ( "Mysql connect is error." );
在php5.5.12版本運行會提示
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D:\soft\develop\php\wamp\2.5\wamp\www\generate_mysql.php on line 16
看來會廢棄了,不建議使用了,程序無法運行的。使用mysqli or PDO 來替代。到高版本,根本無法使用這個函數(shù)了。
我想知道哪個php版本開始就會開始不建議使用這個函數(shù)了,所以去官網(wǎng)www.php.net搜索這個函數(shù)。有這樣的介紹:
本擴展自 PHP 5.5.0 起已廢棄,并在將來會被移除。應(yīng)使用 MySQLi 或 PDO_MySQL 擴展來替換之。參見 MySQL:選擇 API 指南以及相關(guān) FAQ 以獲取更多信息。用以替代本函數(shù)的有:
到此這篇關(guān)于php連接mysql之mysql_connect()與mysqli_connect()的區(qū)別的文章就介紹到這了,更多相關(guān)PHP mysqli_connect() 函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
php計劃任務(wù)之驗證是否有多個進(jìn)程調(diào)用同一個job的方法
這篇文章主要介紹了php計劃任務(wù)之驗證是否有多個進(jìn)程調(diào)用同一個job的方法,涉及php針對計劃任務(wù)中進(jìn)程調(diào)用的相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-12-12php switch語句多個值匹配同一代碼塊的實現(xiàn)
switch 語句一行接一行地執(zhí)行(實際上是語句接語句),下面為大家介紹下php switch語句多個值匹配同一代碼塊2014-03-03php控制反轉(zhuǎn)與依賴注入的實現(xiàn)介紹
IOC-Inversion of Control,即控制反轉(zhuǎn)。它不是什么技術(shù),而是一種設(shè)計思想。這篇文章主要介紹了php控制反轉(zhuǎn)與依賴注入的實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-09-09PHP三層結(jié)構(gòu)(上) 簡單三層結(jié)構(gòu)
我們以一個簡單的留言板代碼為例,先來看一個最簡單的三層結(jié)構(gòu)代碼2010-07-07PHP數(shù)組游標(biāo)實現(xiàn)對數(shù)組的各種操作詳解
這篇文章主要介紹了PHP數(shù)組游標(biāo)實現(xiàn)對數(shù)組的各種操作,結(jié)合實例形式較為詳細(xì)的分析了PHP數(shù)組操作中current與next方法控制數(shù)組游標(biāo)移動實現(xiàn)數(shù)組遍歷的技巧,需要的朋友可以參考下2016-01-01