1、用 mysql_connect 的方法,PHP7會(huì)報(bào)致命錯(cuò)誤
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、辛集網(wǎng)站維護(hù)、網(wǎng)站推廣。
$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ù)進(jìn)行連接,但實(shí)際上,PHP5.5開(kāi)始,MySQL就不推薦使用了,屬于廢棄函數(shù)
PHP7中貌似已經(jīng)徹底不支持了,根據(jù)官網(wǎng)說(shuō)明,取而代之的是如下兩個(gè):
本擴(kuò)展自 PHP 5.5.0 起已廢棄,并在將來(lái)會(huì)被移除。應(yīng)使用?MySQLi?或?PDO_MySQL?擴(kuò)展來(lái)替換之。參見(jiàn)?MySQL:選擇
API?指南以及相關(guān) FAQ?以獲取更多信息。用以替代本函數(shù)的有:
mysqli_connect()
PDO::__construct()
使用時(shí),不要在使用mysql_connect了,可以換用mysqli_connect(),用法基本類似吧,據(jù)說(shuō)是面向?qū)ο蟮膸?kù)。
php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll這個(gè)拓展了。
2、可以使用mysqli,對(duì)象化,方法名與被廢棄的類似
$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ù)的話,默認(rèn)是關(guān)聯(lián)和索引都有,如下圖
這是連接mysql數(shù)據(jù)庫(kù)的簡(jiǎn)單代碼:
$conn=new?PDO("mysql:host=localhost;dbname=webdata","user","pwd");
$sth=$conn-prepare("select?*?from?books");
$sth-execute();
while($res=$sth-fetch(PDO::FETCH_ASSOC))
{
echo("div".$res["id"].":".$res["title"]."--".$res["author"]);
}
PHP連接mysql數(shù)據(jù)庫(kù)是PHP新手們必須要掌握的一項(xiàng)技能,只要掌握了PHP對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改查等操作,就可以寫出一些簡(jiǎn)單且常見(jiàn)的程序。如留言表,新聞頁(yè)等。本篇文章主要給大家詳細(xì)介紹PHP連接Mysql數(shù)據(jù)庫(kù)的兩種常用方法。
下面我們通過(guò)具體的代碼示例來(lái)給大家詳細(xì)介紹兩種PHP連接mysql數(shù)據(jù)庫(kù)的方法。
mysqli連接數(shù)據(jù)庫(kù)和pdo連接數(shù)據(jù)庫(kù)。
第一種方法:使用mysqli連接mysql數(shù)據(jù)庫(kù)
代碼實(shí)例如下:
?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)過(guò)一系列的連接操作后,我們?cè)賱?chuàng)建一個(gè)sql語(yǔ)句對(duì)其中數(shù)據(jù)表進(jìn)行查詢檢驗(yàn)。在上述代碼中,我們要先創(chuàng)建一些需要用到的變量,如數(shù)據(jù)庫(kù)用戶名、數(shù)據(jù)庫(kù)名密碼等。然后我們用面向?qū)ο蟮姆绞竭B接了名為php的數(shù)據(jù)庫(kù)。再通過(guò)if條件語(yǔ)句,connect-error方法判斷PHP連接數(shù)據(jù)庫(kù)是否成功。
這里我們先登錄phpmyadmin看看是否存在php數(shù)據(jù)庫(kù),從下圖可以知道是存在php這個(gè)數(shù)據(jù)庫(kù)的。
最后通過(guò)瀏覽器訪問(wèn),結(jié)果如下圖:
從圖中可以得知,我們成功地連接了php數(shù)據(jù)庫(kù),并且能查詢出數(shù)據(jù)表信息。
第二種方法:使用PDO連接數(shù)據(jù)庫(kù)
代碼示例如下:
?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ù)庫(kù)查詢數(shù)據(jù)的兩種常用方法詳解,更多相關(guān)教程請(qǐng)?jiān)L問(wèn)php中文網(wǎng)mysql視頻教程,歡迎參考學(xué)習(xí)
可以有很多方法,簡(jiǎn)單說(shuō)兩種:1.直接寫sql語(yǔ)句mysql_connect()連接數(shù)據(jù)庫(kù),mysql_select_db(數(shù)據(jù)庫(kù)名),設(shè)置字符編碼mysql_set_charset(),寫mysql語(yǔ)句mysql_query(),解析結(jié)果集,這是最通用的方法,但比較麻煩.
2.利用pdo,實(shí)例化一個(gè)pdo;
$pdo = new PDO('mysql:host:localhost;dbname=sb;charset=utf8;port=3306','root','');
$stmt = $pdo-query('sql語(yǔ)句');
$res = $stmt-fetchAll(PDO::FETCH_ASSOC);
大致有以下方法:
1、使用 mysql ,提示:此種方法官方不建議。
?php??
$con?=?mysql_connect("localhost","root","");??
if?(!$con)??
{??
die('Could?not?connect:?'?.?mysql_error());??
}??
mysql_close($con);
2、使用 mysqli(分過(guò)程式與對(duì)象式兩種):
?php
$link?=?mysqli_connect('localhost',?'my_user',?'my_password',?'my_db');
if?(!$link)?{
die('Connect?Error?('?.?mysqli_connect_errno()?.?')?'
.?mysqli_connect_error());
}
echo?'Success...?'?.?mysqli_get_host_info($link)?.?"\n";
mysqli_close($link);
?
3、使用PDO
?php???
$db?=?new?PDO('mysql:host=localhost;dbname=test',?'root',?'');??
try?{??
foreach?($db-query('select?*?from?user')?as?$row){??
print_r($row);??
}??
$db?=?null;??//關(guān)閉數(shù)據(jù)庫(kù)??
}?catch?(PDOException?$e)?{??
echo?$e-getMessage();??
}??
?
4、其他(使用 ADODB 等)
?php??
require_once?'./adodb5/adodb.inc.php';??
$conn?=?ADONewConnection('mysql');??
$conn-connect('localhost','root','','test');??
$conn-Execute("set?names?utf8");??
$res?=?$conn-Execute("select?*?from?user");??
if?(!$res){??
echo?$conn-ErrorMsg();??
}else{??
var_dump($res);??
}??
?
鏈接數(shù)據(jù)庫(kù)的代碼如下:
$Link?=?new?PDO('mysql:host=localhost;dbname=stu',?'username','password');
更具體的操作,請(qǐng)查看: