本文目錄一覽:
- 1、如何在PHP中連接MySQL資料庫
- 2、mysql connect函數是php連接資料庫的函數,他需要的參數不包括哪項
- 3、如何在PHP裡面連接資料庫
- 4、PHP7連接mysql資料庫方法
- 5、PHP訪問MYSQL資料庫封裝類(附函數說明)
如何在PHP中連接MySQL資料庫
php鏈接mysql必備條件:已安裝mysql資料庫;
檢查php環境是否已開啟mysql擴展(一般情況下是開啟的);
檢查方法:a.使用phpinfo();函數,看有沒有mysql項;b.打開php.ini文件,檢查php_mysql.dll前分號是否已取掉。
php鏈接代碼如下:
運行結果:
mysql connect函數是php連接資料庫的函數,他需要的參數不包括哪項
mysql_connect(server,user,pwd,newlink,clientflag)
server 可選。規定要連接的伺服器。
可以包括埠號,例如 “hostname:port”,或者到本地套接字的路徑,例如對於 localhost 的 “:/path/to/socket”。
如果 PHP 指令 mysql.default_host 未定義(默認情況),則默認值是 ‘localhost:3306’。
user 可選。用戶名。默認值是伺服器進程所有者的用戶名。
pwd 可選。密碼。默認值是空密碼。
newlink 可選。如果用同樣的參數第二次調用 mysql_connect(),將不會建立新連接,而將返回已經打開的連接標識。參數 new_link 改變此行為並使 mysql_connect() 總是打開新的連接,甚至當 mysql_connect() 曾在前面被用同樣的參數調用過。
clientflag 可選。client_flags 參數可以是以下常量的組合:
MYSQL_CLIENT_SSL – 使用 SSL 加密
MYSQL_CLIENT_COMPRESS – 使用壓縮協議
MYSQL_CLIENT_IGNORE_SPACE – 允許函數名後的間隔
MYSQL_CLIENT_INTERACTIVE – 允許關閉連接之前的交互超時非活動時間
返回值
如果成功,則返回一個 MySQL 連接標識,失敗則返回 FALSE。
如何在PHP裡面連接資料庫
12mysql_connect();// 這個函數是連接資料庫所在伺服器的mysql_select_db();// 這個函數是連接具體資料庫的如果是要聯接同一個伺服器里的不同資料庫里的表,那麼就不需要第二個函數,直接在sql語句里進行選擇就可以了。select * from `庫`.`表` where 1就是在表達表的時候前面用庫進行修飾
PHP7連接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()函數進行連接,但實際上,PHP5.5開始,MySQL就不推薦使用了,屬於廢棄函數
PHP7中貌似已經徹底不支持了,根據官網說明,取而代之的是如下兩個:
本擴展自 PHP 5.5.0 起已廢棄,並在將來會被移除。應使用 MySQLi 或 PDO_MySQL 擴展來替換之。參見 MySQL:選擇
API 指南以及相關 FAQ 以獲取更多信息。用以替代本函數的有:
mysqli_connect()
PDO::__construct()
使用時,不要在使用mysql_connect了,可以換用mysqli_connect(),用法基本類似吧,據說是面向對象的庫。
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);
不填寫參數的話,默認是關聯和索引都有,如下圖
PHP訪問MYSQL資料庫封裝類(附函數說明)
複製代碼
代碼如下:
?php
/*
MYSQL
資料庫訪問封裝類
MYSQL
數據訪問方式,php4支持以mysql_開頭的過程訪問方式,php5開始支持以mysqli_開頭的過程和mysqli面向對象
訪問方式,本封裝類以mysql_封裝
數據訪問的一般流程:
1,連接資料庫
mysql_connect
or
mysql_pconnect
2,選擇資料庫
mysql_select_db
3,執行SQL查詢
mysql_query
4,處理返回的數據
mysql_fetch_array
mysql_num_rows
mysql_fetch_assoc
mysql_fetch_row
etc
*/
class
db_mysql
{
var
$querynum
=
;
//當前頁面進程查詢資料庫的次數
var
$dblink
;
//資料庫連接資源
//鏈接資料庫
function
connect($dbhost,$dbuser,$dbpw,$dbname=”,$dbcharset=’utf-8′,$pconnect=0
,
$halt=true)
{
$func
=
empty($pconnect)
?
‘mysql_connect’
:
‘mysql_pconnect’
;
$this-dblink
=
@$func($dbhost,$dbuser,$dbpw)
;
if
($halt
!$this-dblink)
{
$this-halt(“無法鏈接資料庫!”);
}
//設置查詢字符集
mysql_query(“SET
character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_client=binary”,$this-dblink)
;
//選擇資料庫
$dbname
@mysql_select_db($dbname,$this-dblink)
;
}
//選擇資料庫
function
select_db($dbname)
{
return
mysql_select_db($dbname,$this-dblink);
}
//執行SQL查詢
function
query($sql)
{
$this-querynum++
;
return
mysql_query($sql,$this-dblink)
;
}
//返回最近一次與連接句柄關聯的INSERT,UPDATE
或DELETE
查詢所影響的記錄行數
function
affected_rows()
{
return
mysql_affected_rows($this-dblink)
;
}
//取得結果集中行的數目,只對select查詢的結果集有效
function
num_rows($result)
{
return
mysql_num_rows($result)
;
}
//獲得單格的查詢結果
function
result($result,$row=0)
{
return
mysql_result($result,$row)
;
}
//取得上一步
INSERT
操作產生的
ID,只對錶有AUTO_INCREMENT
ID的操作有效
function
insert_id()
{
return
($id
=
mysql_insert_id($this-dblink))
=
?
$id
:
$this-result($this-query(“SELECT
last_insert_id()”),
0);
}
//從結果集提取當前行,以數字為key表示的關聯數組形式返回
function
fetch_row($result)
{
return
mysql_fetch_row($result)
;
}
//從結果集提取當前行,以欄位名為key表示的關聯數組形式返回
function
fetch_assoc($result)
{
return
mysql_fetch_assoc($result);
}
//從結果集提取當前行,以欄位名和數字為key表示的關聯數組形式返回
function
fetch_array($result)
{
return
mysql_fetch_array($result);
}
//關閉鏈接
function
close()
{
return
mysql_close($this-dblink)
;
}
//輸出簡單的錯誤html提示信息並終止程序
function
halt($msg)
{
$message
=
“html\nhead\n”
;
$message
.=
“meta
content=’text/html;charset=gb2312’\n”
;
$message
.=
“/head\n”
;
$message
.=
“body\n”
;
$message
.=
“資料庫出錯:”.htmlspecialchars($msg).”\n”
;
$message
.=
“/body\n”
;
$message
.=
“/html”
;
echo
$message
;
exit
;
}
}
?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/257407.html