新聞中心
PHP訪問(wèn)MYSQL數(shù)據(jù)庫(kù)封裝類(附函數(shù)說(shuō)明)
復(fù)制代碼
成都創(chuàng)新互聯(lián)公司制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司,網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開(kāi)發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為上千家服務(wù),成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷推廣服務(wù)!
代碼如下:
?php
/*
MYSQL
數(shù)據(jù)庫(kù)訪問(wèn)封裝類
MYSQL
數(shù)據(jù)訪問(wèn)方式,php4支持以mysql_開(kāi)頭的過(guò)程訪問(wèn)方式,php5開(kāi)始支持以mysqli_開(kāi)頭的過(guò)程和mysqli面缺核向?qū)ο?/p>
訪問(wèn)方式,本封裝類以mysql_封裝
數(shù)據(jù)訪問(wèn)的一般流程:
1,連接數(shù)據(jù)庫(kù)
mysql_connect
or
mysql_pconnect
2,選擇數(shù)據(jù)庫(kù)
mysql_select_db
3,執(zhí)行SQL查詢
mysql_query
4,處理返回的數(shù)據(jù)
mysql_fetch_array
mysql_num_rows
mysql_fetch_assoc
mysql_fetch_row
etc
*/
class
db_mysql
{
var
$querynum
=
;
//當(dāng)前頁(yè)面進(jìn)程查詢數(shù)據(jù)庫(kù)的次數(shù)
var
$dblink
;
//數(shù)據(jù)庫(kù)連接資源
//鏈接數(shù)據(jù)庫(kù)
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("無(wú)法鏈接數(shù)據(jù)庫(kù)!");
}
//設(shè)置查詢字符集
mysql_query("SET
character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_client=binary",$this-dblink)
;
//選擇數(shù)據(jù)庫(kù)
$dbname
@mysql_select_db($dbname,$this-dblink)
;
}
//選擇數(shù)據(jù)庫(kù)
function
select_db($dbname)
{
return
mysql_select_db($dbname,$this-dblink);
}
//執(zhí)行SQL查詢
function
query($sql)
{
$this-querynum++
;
return
mysql_query($sql,$this-dblink)
;
}
//返回最近一次與連接句柄關(guān)聯(lián)的INSERT,UPDATE
或DELETE
查詢所影響的記錄行數(shù)
function
affected_rows()
{
return
mysql_affected_rows($this-dblink)
;
}
//取得結(jié)果集中行的數(shù)目,只對(duì)select查詢的結(jié)果集有效
function
num_rows($result)
{
return
mysql_num_rows($result)
;
}
//獲得單格的查詢結(jié)果
function
result($result,$row=0)
{
return
mysql_result($result,$row)
;
}
//取得上一步
INSERT
操作產(chǎn)生的
ID,只對(duì)表有AUTO_INCREMENT
ID的操作有效
function
insert_id()
{
return
($id
=
mysql_insert_id($this-dblink))
=
?
$id
:
$this-result($this-query("SELECT
last_insert_id()"),
0);
}
//從結(jié)果集提取當(dāng)前行,以數(shù)字為穗乎key表示的關(guān)聯(lián)數(shù)組形式返回
function
fetch_row($result)
{
return
mysql_fetch_row($result)
;
}
//從結(jié)果集提取當(dāng)前行,以字段名為key表示的關(guān)聯(lián)數(shù)組形式返回
function
fetch_assoc($result)
{
return
mysql_fetch_assoc($result);
}
//從結(jié)果集提取當(dāng)前行,以字段名和數(shù)字為key表示的關(guān)聯(lián)數(shù)組形式返回
function
fetch_array($result)
{
return
mysql_fetch_array($result);
}
//關(guān)閉鏈接
function
close()
{
return
mysql_close($this-dblink)
;
}
//輸出簡(jiǎn)單的錯(cuò)誤html提示信息并終止程序伏族掘
function
halt($msg)
{
$message
=
"html\nhead\n"
;
$message
.=
"meta
content='text/html;charset=gb2312'\n"
;
$message
.=
"/head\n"
;
$message
.=
"body\n"
;
$message
.=
"數(shù)據(jù)庫(kù)出錯(cuò):".htmlspecialchars($msg)."\n"
;
$message
.=
"/body\n"
;
$message
.=
"/html"
;
echo
$message
;
exit
;
}
}
?
php查找MySQL中某張表的數(shù)據(jù),如何封裝為json數(shù)組?
$sql
=
"SELECT*
FROM
table1
";//查詢表table1
$result
=
mysqli_query($conn,$sql);//將表與數(shù)據(jù)庫(kù)連接
$output
=
[];
/耐梁配/渣滲用于盛放查詢到的商品
while(($row=mysqli_fetch_assoc($result))!==null){
$output[]
=
$row;
}
echo
json_encode($output);//輸出昌指查詢到的數(shù)據(jù)
怎么將PHP查詢的多條數(shù)據(jù)封裝成數(shù)組?并且轉(zhuǎn)為json的數(shù)據(jù)格式
正常來(lái)說(shuō),循環(huán)賦值是悶握沒(méi)問(wèn)題的,你需要看下逗罩廳,你的sql在數(shù)據(jù)庫(kù)中能查出幾山隱條結(jié)果,
最好數(shù)組還是這樣定義$arr
=
array();而不是$arr[]
=
array();
簡(jiǎn)單的測(cè)試你數(shù)據(jù)是否只有一條的方法是在while里邊打印個(gè)東西
echo
$sql;//打印下你的sql語(yǔ)句,用phpmyadmin執(zhí)行下看結(jié)果
$cnt=1;
while($row
=
$db
-
fetchassoc($result))
{
$cnt++;
echo
$cnt;
}
文章標(biāo)題:php數(shù)據(jù)查詢封裝 php封裝函數(shù)
標(biāo)題網(wǎng)址:http://ef60e0e.cn/article/ddpejdh.html