admin 管理员组文章数量: 1086019
2024年4月24日发(作者:怎么恢复linux系统里的网络配置)
维普资讯
知识
nowledge CIassrOom. 掌………………………………
。 责编/国晓平gxp@ccu.corn.cn美编/庆琨
跟我学PHP开发
本文首先简介了MySQL数据库,然后讲解如何在PHP中建立和连接数据库服
务器、创建数据库、创建数据表,以及如何操作数据等相关知识。
第四讲在PH P中使用MySQL数据库
一王海泉路新喜魏力强
MySQL简述
语言为一个网站检索产品信息
器连接。
及存储顾客信息,同时MySQL
{吾{去:int mysqLconnect
MySQ L是一个精巧的
也足够快和灵活,以允许存储
(stnng【hostname]【:port],string
SQL数据库管理系统,它既有
记录文件和图像。
开源版本,也有商业版本。由
【usemame]。stnng【password]);
返回值:整数。
ose
◆mysqI
cl
_
MySQL官方站点是http:11
于它的强大功能、灵活性、丰 、^n^ mysq1.com,最新参考手
富的应用编程接口(API)以及 册为http://www.mysq1.corn/
doc.htmI。
功能:关闭MySQL服务
器连线。
语法:int mysql
close(int
_
精巧的系统结构,受到了广大
自由软件爱好者,甚至是商业
软件用户的青睐,特别是与
Apache和PHP/Perl的结合;为
建立基于数据库的动态网站提
供了强大动力。
建立数据库连接
这里假设已经在本机上安
装好了一个MySQL数据库服
【¨nKjdentiifer]);
返回值:整数。
◆mysql
error
_
功能:传回错误讯息。
语法:string mysql
error
_
MySQL是一个真正的多
务器实例,名为“Iocalhost”,
用户、多线程SQL数据库服务 并拥有一个默认用户“root”,
器,由瑞典的T.c.X公司负责开 密码为“123”,在服务器上默
发和维护,主要目标是快速、
(int【link_idenUfier]);
返回值:字符串。
2.使用范倒
<?php -一
认存在“mysql”和“test 两
在PHP中,操作MySQL数
健壮和易用。SQL(结构化查
个数据库。
询语言)是流行的和标准化的
数据库语言。MySQL是以一个
据库。需要使用MySQL函数库
1.¥∞nnect融n罩m ̄_oonnect
客户机,服务器结构的实现,它 中的函数。由于在PHP中默认
(’Iocalhost。。。root’。’123’)or die
由一个服务器守护程序 包含此函数库,所以不需要做
(mysqLeI1Dr()
mysqId和很多不同的客户程
额外设置即可进行编程。
序和库组成。
SQL是一种标准化的语
1.函数介绍
2Jf(¥(x)nnection){
3.echo( 潼淘l成功l );
4.)
_
言,它使得存储、更新和存取
信息更容易。例如,能用SQL
◆mysql
connect
5.mY ̄:lLClose(¥conrmction);
’ .
功能:开启MySQL服务
92歹f放系统他界
维普资讯
开放系统世界
以上几行代码显示了在
1。¥conneddon=mysql,connect
1。函数说明
◆mysql_select_db
PHP中如何建立与MySQL数
( localhost".。root",。1 23。)or die
据库服务器的连接,当连接建
(my ̄errorO):._ 。l。 t
立成功时会输出相关信息,失
3
功能:选择一个数据库。
语法int mysql_select_db
2.¥resutt毒}魏翳穗圜f :_c【re鑫谵.db
败时会显示相关错误信息,并
(=testDB", ̄rmonrmction)or die
(string database_name,int
停止脚本的执行。
(1)首先使用mysqLconnect
(mys ̄error0):一
【link_identiifer]);
。(l罩璋塞I鞋t,‘
返回值:整数。
函数利用已知的用户名和密码
连接位于本机的MySQL数据
库服务器,由于端口是默认的
所以这里省略。
(2)在连接的同时结合了
or运算符号和die函数,用于
当连接发生错误时结束脚本的
执行。
(3)由于打开数据库连接会
占有很多的系统资源,所以在
完成针对数据库的操作后需要
立即关闭数据库连接。
管理数据库
1。函数说明
◆mysq1._create__db
功能:建立一个MySQL
新资料库。
语法:int mysql create_
db(string database name,int
【¨nkjdentiifer]);
返回值:整数。
◆mysql_drop_db .
功能s移除资料库。
语法:int mysql_.drop_db
(string database_name,int
【link identiifer]);
返回值:整数。
2.使用范倒
Ip
||_碡 echo( ̄建涮试数据库成
◆mysql_query
毽 | I鸯争
功能:送出一个query字
5.、 | 尊
串,即SQL语句。
6。Sresult mysql drop db
语法:int mysql query
(。£e|tIpB。_,¥conn ̄DcttOn)or dIe
(string que ry,int【Iink—
(myscp_ermr0);&l 0
identifie r】)l
7。if(¥resutt){
返回值:整数。
≯ &魁姥 搬睛t蔓瞄l}摩青 ;曲蕾 ):
霉 i
2。使用范倒
1O。mysqI瑚ol§eI敏葡nnl :
(1)设计一个数据表
? 盘 ,t~ t
在此设计一个名为user的
数据表,其结构如表2所示。
通过对以上代码完成了在
MySQL服务器上创建和删除一 3。组写SQL语句
个数据库的基本功能,这里仅
CREATETABLE【us创
仅分别需要一行代码即可,并
UsermD intAUTO INCREMENT
且在操作成功的时候显示提示
PRIMARYKE .
信息,失败的时候结束脚本执
Username varchar(20)NOT
行,最后释放数据库连接资源
NU L.
;Password varchar(20)NOT
创建数据表
NUl_L,
一
Ema. ̄ar(50)。
在PHP中创建数据表是通
。
Dej苣c内醴lonvareher(200) ̄
过执行SQL语句实现的,具体
 ̄tatus精rly|ntDEFAULT0,
可分为以下三步:第一,规划
ereatedTIme tlmestamp DE-
好数据表的结构,选择好字段
F心LT nc蜘『‘),
的名称和类型l第二,按照
叼蚺 ount int DEFAULT 0
MySQL的数据类型,编写SQL
'
语句I第三,在程序中执行SQL
聪豫耍I[薹孽表的语句
语句以实现数据表的创建。表
DROPTABLE【user]
1列出了MySQL中一些常见的
数据类型。 上面代码说明;
2O
2OO6
O6 10 OPEN s0uRcE wORLD MONTHLY 93
●
维普资讯
知识
nowledge CIassrOom. 掌………………………………
。 责编/国晓平gxp@ccu.com.cn美编/庆琨
表1 MySQL常见数据类型
(1)在数据表名称中添加
“口”是为了转义,避免与系统
保留关键字发生冲突,
(2)通过添加AUTO_l N-
CREMENT可以指定userlD字
段数据自动增长,设置PRl-
MARY KEY属性可以保证
userlD字段的惟一性l
(3)通过设定NOT NULL
当为有符号数时,范圈为
;
属性可以指定use rname
和password字段数据不能
每g
:BlGll峒r
妾为有符号数时 藏圈为一
当为有狗喝嘲《嘲李≯范匿0
为空l
(4)通过使用DEFAULT
属性可以为字段设定默认值,
(5)关于MySQL中SQL
FLoAT
浮点类型,有符号.可
精度田豁釉 为lO.2,即1O位显示长度。2位小赣位数。
语句的具体书写规范请查看在
。
j蠡||
| 玲’罄噶L蔓滠爹 证 i “麓≈“ 曩薯 i
本章开始时提及的MySQL的
;
开发文档。
嘲葵墼誊格式Y Y制 I_。D。范瞳1000-01_o1蠲瓣
1.'捆甄 mb 3o。1973将被存储为1973-12-
≯^II6树m 范围 : 4.编写PHPBII本代码 30.DATE=TIME日ll螺j蘑垫,档武
翻∞棚毫 的99.'誊翻 囊00簟
朔 匿鹜≯范围1970-,t鲫.o牛嫂_二毒瓣
_萋一誊 。
蝴 烛59:i
】
t7 ≯≤√0
1.¥connection=mysql
connect
_
_葛 哥嫩
稻 熟
多种长度了脚瞅
翱
ocalhost。。。root".。'{} 6r die
樊型。默敲为竹位,
‘。l
e吩廿E 醯譬. tj 钔 懒整3o j
(mysqLem)r0); 。 。,~
—
’
db
—
筝 掬l啵存储 睁1写I商稍
ll
如耐蔫氆幢岔 IP 壁其
。
}
¥db=lmysql
select
它定义有1霉fn MDl辩们 纛穗勒' 啻 n
| l等2秘爵t 囊
幕I
D) i
‘“myDB .¥connection or die
‘吨 帅 U在myDB数据库中
。 1蔼 晤轰.
瞒ID ).
;
:
CHAR
}一嚣
藩矗
掬窟l燕馥将会以右补空格填充,默认长度为1。 :
3.Ssql=“…・ :W在第二步中
一~ⅡI= 二
陵塑,七蝴
,
瞳俘蘧隧 ’
即Birmry
准备的SQL语訇 弩
.
长度箍囱1 0嘲鼬哦 奄嚼
4.¥
}
女mysql
qu ̄ry(¥sql。
_
I
_
o 睁‘_细的首寮母耋毫|写 棱角来存储大壁蝴数
¥connectlon)or ̄.e(mysc ̄error());
。
一
据
留I羹I葛硝陶 制蛹峨 的参 £11囊 也强采用 蒋嘲
黾脊{¥I_I鼻蛐 I
霞。echa 刨建数据袭成功!-):
7.}
撼镄目嘲 预.耆l韵区期错副-o畦类型的蠹蝈在存储和t萱:
较时大小写敏感,而 瓣
一…÷ …一 , 0 …一j……
受麴酶蝻J|垂
…一……一……
.1_一
……._..一,
日龋扑^I 0
辫 坠蝴枚攀 鎏 l弥叠滂随义一个蒜丑序列。
已襁
..………一——
尊嚣缡i
翱蹶嚼l羹i暖嘣 油燃馘乏 窜 6 : 校举雪莲塑
0毒 0一
……——一一— …—
—…~一….
操作数据
在PHP访问MySQL数
可以定义最多艘 炼 幂胃b孽值
………………——.一…~一
;。
:
94矸放系统世界
维普资讯
开放系统世界
据库的时候,都是通过SQL com’)”、更新“UPDATE
 ̄O.¥sqt 。UPDATE[usedSET
语言中的S E L E C T、
【user】SET password=’
password='admin123 WHERE
INSERT、UPDATE和DE—
admin1 23’WHERE userID=
userlD= .¥userlD:
LETE等语句完成对数据库
【ID]”和删除“DELETE FROM
11.¥result=mysql_qt ̄y(¥sq1.
中的数据进行查询、添加、更
【user]WHERE userlD=[ID]”,
Sconn ̄cUon)l IqI..e|Tor()):
新和删除的。
其中用户的ID号要从程序中
12.推《辆stdt) 一 。。
得到。
1 3. e匆hof 共更新。.
1 函数说明
<?php _
mysqI酣bc蛔d w刚¥I:。嘲 on).
◆mysqIjnserLid
串筐 鞠箍on霉强’ysq..ponned
条数 爵 曲 ≯’';
功能:传回最后一次使用
佃 棚扣鹊;t-:-rOo ̄.;-,,123’ or die
4 ’。
INSERT指令的ID。
(mysql error));|§ 。 .
1 5 ¥sq1 =。DELETE FROM
语法:int mysql_inse ̄._id
2.¥db;mysql ̄select—db
tII_8e帕WHEI强_啪nD慝 嘲 D:
(int【link._identiifer]);
(“myDB 。¥conne ̄10n) r die
16.¥result=m 胄qI q B州¥薯IqI,
返回值:整数。
ln睁譬哦 州'):… 0 。¥connection)or die(mysql_error0);
◆mysql
affected
rows
__
3.Ssql=“INSERT ̄[user]
17. (¥怕¥‘l姆‘ ~
功能:得到MySQL最后
(‘曩矗m i n’≮ 】昏d m i n’,。 1 §eh ( 共捌馀。.
操作影响的列数目。
fr码l暑qI a厢|ic删. 『w ¥I冀n 墩)n).
语法int mysql_affected
_
4.¥result=mysql_query(¥sql, 条I陵据l如 )
rows(int【link_identiifer]);
¥connectlon)ordt, ̄mysqt_mTorO);
19.>
返回值:整数。
。:5.e=(¥result){ 冀
20.my1 ̄ll
_
cloee(¥connection);
6t瓤lse科 每m煳I-inse^ Id
2.使用范倒
鼬 搠皓l;魄蠕.誊
下面以刚才创建的myDB
7. 每塔 共播入。.
显示数据
数据库中的user表为例进行进
mysql
_
 ̄
_
roWs(¥Ocw;meCtton).
行演示。用到的SQL语句包括
条数据l ):
1.函数说明
插入“INSERT INTO【user]
8. echo("userl 掬『± .
◆mysqI
numrows
__
(‘a d m i n’。’a d m i n’。’
翻灏峰rlb. q§p’ I
功能:取得传回列的数目。
webmaste r@somesite.
9.)
语法:int mysql_num_
rows(int result);
表2 user表结构
返回值:整数。
争喾晕秽尊f ‘毒《童 一 I
◆mysq1._fetch
_
array
谰 鲢; 妻 Jnt 一 t 惟一ID号。自动增埔’。聿健
功能:传回数组数据。
夸口尊耐霸捌 : 嘴 筘∞0 用户名 语法:array mysql_fetch_
i
。’p龟l曩鼍 寸{lvI 粗 蜉田; 整码 叠 -l -
array(int result,int【resuR_typ]);
email譬ll{{_ |r酮掰(髫 、 。鳃转 .0 。 jI
返回值:数组。
‘Il婚 脚囊 . 啤雌 2ID0) 刨建时间 0 - -
◆mysq1._free
result
._
m-_ j 嘲 It 用户状态 : 一 曩,
功能:释放传回占用记录
一  ̄eremednm 囊1_i 酾障嗣 t;锄奠蕾 誊 - l。 0
集(内存空间)。
 ̄ginCount int …譬奢 登象祆彀 l
语法:b O O I e a n
20
2006
06 10 0PEN s0URCE WORLD MONTHLY 95
●
维普资讯
知识
I I。wledge CIassrO。m. !; 掌....... ;
;
;I ; .g, 。 L:. . 、. :, .........
返回值:整数。
5.mysqltablename
_
mysq1
free
._
_
result(int result);
1B_mysql
dose(¥connection) ̄'
_
返回值:布尔值。
'> 。一
2.使用范倒
下面范例使用到“SELECT
usedD,usemame,emaiI FROM
其他相关函数介绍
1.mysql
db
query
__
功能:取得数据表名称。
语法:St ring mYSqI—
abltename(int result。int i):
传回值:字符串。
【use ̄,SQL语句。
功能:送查询字串(query)
《?椰毫 : 。
到MySQL数据库。
1.¥connecUon≈柙f撺IqI pa| ’瞅
语法:int mysql_db_query
f’Iocalhost’。’root’。’1 23 ̄)or die
(string database。string query,
{m蜘嘲 糟鼋 0》≯ 。
int【fink_identiifer]);
2 ¥db j m t鹰|二-暑|B||嘲 dlb
返回值:整数。
( mylD&曼,Seonnemtion)Or die
其功能等同如下:
(mysqt ̄errro()); ,tt 。氟tF
mysqI
seIect
——
db(string
3.¥sql= ̄EL.ECT used D。
database);
usemame;email FROM【u铷岫 :
mysql
_
query(string query,
4.¥I鼬u 誊删宴蚶:碍哪 《葺h车qI。
int【link_identiifer]);
¥conne( ̄on)or d.e 'y鼍EIl=肆响 O
5.if(¥msu眭){
2.mysqI
_
list
_
dbs
6。 ’ 拿整h 《’共有’.
功能:列出MySQL服务
mysql
num
_
_
rows(¥result): 条数
器可用的数据库(database)。
据!《bp ):
语法:int mysql_list_dbs
7. 狮 蝴le,t”,ttd,
(int【link_identiifer]);
返回值:整数。
email</td> 、1 蒋i ~、#
8_ wh ¨e。( r虞w =
3.mysql
db
_
_
name
myg : 触 :胃rn童yt¥ 瞄ull K
功能:传回指定字段位的
9. ec霸o(。砒 ):
名称。
1 0. eaho 《td .¥rnw
语法:string mysql_db_
(“userlD ). ‘,嘲睁’ : 妻
name(int resuIt,int
4... {"ech - ¥row
db
_
index):
(。use ame )。" ̄/td ):
返回值:字符串。
一
强2. e 嘲唾 《td> .¥row
r甜怕 Id ’: -瞎 I ≮
4.mysql
_
lisLlables
1 3.e劈晒( ,t ,
功能;列出指定数据库的
饯 l_≮ 9
..
| t 巷
数据表(table)。
15_et;h 斑If喜 ^a瑚裔 ):
语法:int mysqI_1iSt—
16.’
tabIes(st ring database,int
1"t;rnyscll
free
,
__.
result(SresuIt);
【link_identiifer]);
96开放系统l}}界
6.mysql
list
flelds
_
_
功能:列出指定数据表的
字段(ifeld)。
语法:int mysql_lisLfields
(string database_name。string
t a b I e
n a m e。 i n t
——
【Iink_.identiifer]);
返回值:整数。
7.mysql
_
fleld
_
name
功能:传回指定字段位的
名称。
语法:S t r i n g
mysqlfield
__
name(int resuIt,
int field
_
index);
返回值:字符串。
小结
通过本文学习,读者可以
了解到在PHP中访问MySQL
数据库大体分为如下三步:首
先,建立与MySQL数据库的连
接;然后,通过SQL语句与数
据库进行交互,包括添加或更
新数据等;最后,关闭数据库
连接,释放相关资源。
在后面几讲中,将结合实
际的例子介绍如何利用PH P
和MySQL开发实际应用中的
程序。
版权声明:本文标题:跟我学PHP开发第四讲 在PHP中使用MySQL数据库 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713925562a658011.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论