PHP5中使用mysql_connect()函數(shù)進行連接,但實際上,PHP5.5開始,mysql系列函數(shù)就不推薦使用了,屬于廢棄函數(shù)
創(chuàng)新互聯(lián)建站是一家專業(yè)提供石景山企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、成都做網(wǎng)站、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務。10年已為石景山眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
PHP7中貌似已經(jīng)徹底不支持了,根據(jù)官網(wǎng)說明,取而代之的是如下兩個:
本擴展自?PHP?5.5.0?起已廢棄,并在將來會被移除。應使用?MySQLi?或?PDO_MySQL?擴展來替換之。
$host?=?'127.0.0.1';//主機名或IP地址
$user?=?'root';????????//數(shù)據(jù)庫用戶
$database?=?'cake';????//數(shù)據(jù)庫名
$password?='root';????//數(shù)據(jù)庫密碼
$mysqli?=?new?mysqli($host,$user,$password,$database);
$query?=?'SET?NAMES?UTF8';
$mysqli-query($query);
if($mysqli-errno){
print_f("連接數(shù)據(jù)庫錯誤br/?%s",$mysqli-error);
exit;
}
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?指南以及相關(guān) FAQ?以獲取更多信息。用以替代本函數(shù)的有:
mysqli_connect()
PDO::__construct()
使用時,不要在使用mysql_connect了,可以換用mysqli_connect(),用法基本類似吧,據(jù)說是面向?qū)ο蟮膸臁?/p>
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ù)的話,默認是關(guān)聯(lián)和索引都有,如下圖
?php
$dbhost = 'localhost'; ?// mysql服務器主機地址
$dbuser = 'root'; ? ? ? ? ? ?// mysql用戶名
$dbpass = '123456'; ? ? ? ? ?// mysql用戶名密碼
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn ){
die('Could not connect: ' . mysqli_error());
}
echo '數(shù)據(jù)庫連接成功!';
mysqli_close($conn);
?
下面是說明:
PHP 提供了 mysqli_connect() 函數(shù)來連接數(shù)據(jù)庫。該函數(shù)有 6 個參數(shù),在成功鏈接到 MySQL 后返回連接標識,失敗返回 FALSE 。
語法
mysqli_connect(host, username, password, dbname,port, socket);
參數(shù)說明:
參數(shù)? ? ? ? ? ? ? 描述
host? ? ? ? ? ? ?可選。規(guī)定主機名或 IP 地址。
username? ? 可選。規(guī)定 MySQL 用戶名。
password? ? ?可選。規(guī)定 MySQL 密碼。
dbname? ? ? ?可選。規(guī)定默認使用的數(shù)據(jù)庫。
port? ? ? ? ? ? ?可選。規(guī)定嘗試連接到 MySQL 服務器的端口號。
socket 可選。規(guī)定 socket 或要使用的已命名 pipe。
php鏈接mysql必備條件:
已安裝mysql數(shù)據(jù)庫;
檢查php環(huán)境是否已開啟mysql擴展(一般情況下是開啟的);
檢查方法:a.使用phpinfo();函數(shù),看有沒有mysql項;b.打開php.ini文件,檢查php_mysql.dll前分號是否已取掉。
php鏈接代碼如下:
?php
//設(shè)置編碼格式
header("Content-type:text/html;charset=utf-8");
//定義數(shù)據(jù)庫主機地址
$host="localhost";
//定義mysql數(shù)據(jù)庫登錄用戶名
$user="root";
//定義mysql數(shù)據(jù)庫登錄密碼
$pwd="";
//鏈接數(shù)據(jù)庫
$conn = mysql_connect($host,$user,$pwd);
//對連接進行判斷
if(!$conn){
die("數(shù)據(jù)庫連接失??!".mysql_errno());
}else{
echo "數(shù)據(jù)庫連接成功!";
}