PHP与Mysql关系

  [复制链接]

2118

主题

2133

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
37884
admin 发表于 2021-5-29 13:49:36
25638 101
& _# z3 a- H" c( Q3 O3 k7 W7 X
课程目录
6 H7 {2 S5 J0 `& t* ?9 Q5 c2 w3 e: Y! G# @5 w
第一部分:我的应用工具。5 W+ _8 d2 T1 t' K' U$ i6 [
& N% r5 j9 p4 Q% r: V
       
( R( L1 Y' L. }2 j  |8 l3 D  编辑器:sublime text3. 8 C1 P- B( `$ j2 b
* C; H, K# t/ a# x: |2 ?+ A+ |3 r
          PHPstudy:该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin,一次忄生安装,无须配置即可使用,是非常方便、好用的PHP调试环境。你不需要再单独下载安装php、mysql、appche,简单方便。 4 U# H' D4 m! o
: Z5 y4 A' L; B. O7 |
        首先认识以下phpstudy:! Q! S! K' ~- R$ v. B
0 ~' L$ r2 u& d4 X# J& Z  c' ^! P
# ^5 y( s: S8 d6 h2 y" m2 C9 n
        ' k1 I- l1 j+ ^
phpstudy应用程序logo.png * v$ H5 t, _8 t+ x. Q' M7 r
  c- S4 V9 ]% L! ~- W* f
        4.png  x" [! V, c; _3 b  e/ E- t6 |
* V+ M% [8 v; @/ `; }5 L' V! y  _

- [+ v3 G9 x0 L: M. D( ^        - Y) l/ q# P2 t0 k: A- Z9 t
点击上图中的“MySQL管理器”,选择MySQL-Front ; b# p5 r% a/ X9 ^! B
) b' o4 a' u& |" P" Q. X
        5.png出现如下界面: 0 E8 _$ T! K6 \8 f/ i% d0 z6 q. R
4 K: T, J! G2 A5 X. y7 ~: x9 j! B; B7 p
        打开之后就进入到正式的数据库界面。 0 ~) Q! _$ D0 G; @4 K( k: ~

- n# y, X+ J0 \4 [" j& e2 F        6.png
2 A4 J/ }% k) l: N/ V* P9 L* E8 T( W2 y% n& h
        这里只是让大家见识以下mysql,后面会讲它的具体操作。
0 L+ s; N2 m9 ^% ]1 r$ O, p
: @% T( G: _2 J# \
7 Q0 v' r. X7 w! u/ f       
: d, Q. }: K/ G: W- v- A% I这一部分,我所出现的主要问题就是打开图5中的localhost时出现连接不上mysql的问题,实在没有办法才选择重装phpstudy。: H# z& I1 g# j2 z8 H8 _- P; C
% s4 j. t/ B+ G
6 T+ T9 i0 f% p& L
        4 V+ L3 S& W) P4 `: y/ u
第二部分:理解php、apache 、mysql之间的关系。
- q) u9 l9 D; m( t0 d
7 Z; C+ A0 _0 y- a0 k% M9 @       
) J* p; W. v9 s/ C# y有一位顾客在一家网店上 **了一本书,网店店主收到需求后会去找厂家拿货,店主拿到货把货发给顾客。
: {1 @$ L/ S5 P
% X. w- a+ D$ ]1 a7 H% y        流程图如下:
# z  @& [+ {2 u' t/ u% V9 p, M8 ~0 k7 D8 {
+ ~7 n& t0 c' S& Q' m; o% W
       
8 @' u9 {" `& d6 h5 P& P" m实例.jpg/ I/ Q- }4 O' b
/ _, E" ~* N6 Y  B
        我们从上图得知,顾客和店主并不直接交流,而是通过店主来交换数据,店主尽提供沟通服务。php、apache、数据库三者之间的关系就像顾客、店主和厂家之间的关系。php需要某种数据,直接把请求发送给apache服务器,apache再把这种请求反馈给数据库,数据库取出响应的数据交给apache服务器,apache服务器再发送给php。 . w. q5 J) i. O2 @7 A
' {5 O& \% n8 ^7 ~5 n
        为什么php和数据库不能直接沟通,非得通过apache呢?
9 J( ]9 b% n. z7 z6 P3 M% |7 _6 T$ z* k3 x
        打个比方:php和数据库就好像两个不同国籍的人,前者来自中国,后者来自美国,语言不通连沟通都成问题,更别说做生意了。恰好有这么一个人叫apache,即懂中文又懂英语,把php的需求翻译成英文后告诉数据库,数据库取出相应的货物交给apache ,apache再交给php。
- @" c7 c4 {# f$ w
/ n5 B; ]* l$ j+ k            php语言与数据库数据不能相互识别,需要通过apache来进行转换.
' W" ^- y. D- L4 ^/ Z" w! n( L7 |& q2 t8 k7 X
        为什么apache不能即当服务器,又做数据库,这样少了一个环节不是更省事吗?
) n: e9 G) t! O/ l3 D7 o% T1 u+ J$ n/ z1 C- x, y/ p; W
        这设计到一个分工合理忄生问题。 + O3 X: G0 s3 @0 b

' x/ |' k' e2 g! {1 j; u8 _/ N4 l        如果把apache和数据库合并,就相当于apache既当店主又当厂家,会大大加深apache服务器工作量。数据少的时候apache还能够承受,数据大的时候,apache还要负担工厂仓库的运输和管理工作,最终效益说不定还会大大降低,倒不如把仓库运输和管理的工作交给工厂来做。$ I. W8 R" u4 o/ E

! _( E8 x' w9 L' U
: n. L- R; c7 q, k5 U       
; l5 ^% a( X1 t第三部分:mysql数据库(database)
  Z2 X2 I4 B. j) }
0 [3 S' M1 R, y2 m( `$ v! g        世界上有很多中数据库,mysql是其中最流行的一种。
4 t8 o0 P0 r% j3 N! f9 m( X- u% }7 S1 U
        MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活忄生。(mysql数据库相当于将商品分类后放到不同的仓库,每一个仓库都是一个小数据库,而工厂是一个大数据库。这样方便存取货物,如果不进行分类存放,很明显存储效率会大大降低)。
) s/ w+ q7 n4 f, [
, F  t4 B! ]* `: ~$ S, ~7 N5 k0 X- Y/ E' `6 v6 ^' |' v
       
9 Q; d- U) s5 A) u0 vRDBMS即关系数据库管理系统(Relational Database Management System)的特点:
# a/ a0 [* Y; s: {. U# b& r' G, Y$ U, k  P5 H
        1.数据以表格的形式出现 $ w8 S. J4 Z) l3 v
1 _% q2 ^% m  m1 p# |" V9 M
        2.每行为各种记录名称
2 o' R+ `% {. l
2 `( p4 s8 @4 O- E* s4 w0 K2 R        3.每列为记录名称所对应的数据域
" n/ X% n3 B4 s8 Y$ P2 E
: @# t, F3 d' m        4.许多的行和列组成一张表单 3 S* W1 {2 A1 l" Q
/ k" p9 \. z0 f$ z( c+ s* F, v
        5.若干的表单组成database
1 b6 k4 h& D$ {# n2 L% Z
6 r! H) `8 s; M& d' M
, n, a7 I& j4 z2 O+ T       
' W( R" H' p( ?% |- t6 F/ X; Q第三部分:利用php操作mysql数据库& F0 V4 g4 ^4 |/ y& I

0 u; J2 s3 w. W+ e0 B4 b" P$ P& E        5 }( _  \# U" c1 Y
1.使用php脚本连接数据库2 k8 L4 P: q# M

* }9 j1 ~( _! m0 p' U       
" `6 X0 J8 W, r, fPHP 提供了 mysql_connect() 函数来连接数据库。该函数有5个参数,一般我们只用到前面3个。
5 d  n9 t, e- q! `' I! C  c
5 w$ J# q6 L( e1 E! {
2 J2 @5 {: a! z        " f" S/ M! _* ?0 F$ F
这里你也许会问,php可以连接数据库那appache干什么去了。0 x# u3 Z" Q. I8 N" P0 C
这里说明一下,apache是一个服务器,其构筑了一个php和数据库可以沟通的环境.php和数据库这两个讲不同语言的人打电话,通过apache这个同声翻译系统进行沟通7 Z8 W0 a% e; d6 ~# {: J1 @
2 V. @# \# m  g8 B. @
        # j# r- T8 o& R" ^8 ?9 F
        6 p  z9 q6 I6 H$ e$ B5 H
1
9 }: O% Z( J( T" s5 j, x5 z. }/ z5 U
       
3 b. x! V0 ^" x2 \9 z7 x2$ Z! F  x. w* H

; O8 {# i( w- l. w6 R% p7 @( X/ Z) X8 S0 N        $ |) P( ?8 |+ x' j
        7 l' u3 |+ G6 Q9 }
. server 规定要连接的服务器。可以包括端口号,例如 “hostname:port”,或者到本地套接字的路径,例如对于 localhost 的 “:/path/to/socket”。
; c. R/ [$ S0 M
1 ~# }* [6 B' f7 R# e( U        如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 ‘localhost:3306’。
3 f2 v7 `# d" L( \: I6 P( {2 r* Y- J- Z. k2 X* d
        . user 用户名。默认值是服务器进程所有者的用户名。
# b6 |! n$ B0 `3 ^4 F6 y, I2 O: ^! x4 r' y
        . password 密码。默认值是空密码。
3 O* K5 F, Y: _( b2 ?% s
7 @0 h8 J) o  R# J1 z0 Q/ Y
1 t4 [+ y% \1 j& m' E  H       
- r# w4 K) l2 s" Pphp mysql_close 用来断开与mysql数据库的联系。一般情况下脚本运行完后会自动断开联系,所以这句也可以不写。不过, mysql_close() 不会关闭由 mysql_pconnect() 建立的持久连接。 5 B3 I, F3 K# m( ^. |

; y; b0 z4 ]7 u6 p* R' ~        连接数据库:0 K3 |. M2 f/ M% [7 u) H* l0 u

9 `$ A8 b8 W( }5 R+ }4 p4 D7 a: l9 ~
) O# l6 h8 Z! y# o2 l" [        - ]& q3 g7 I& d+ Y
<?php! |8 `0 [! J  N+ A
header("content-type:text/html;charset=utf-8");# G! `+ b$ U! o( {: A8 O
$servername = "127.0.0.1";//服务器主机地址  I, ]2 M+ k2 ]5 z
$username = "root";//访问数据库的用户名
4 v4 K5 v+ a. X9 f6 L $password = "root";//访问数据库的密码$ b  q, Q' B; B, I
//phpstudy的mysql有一个默认用户名(root)和密码(root)
9 b3 _( m2 ~$ Y6 ~
4 O; @8 _' W' u  j8 l3 z9 c( ~// 创建连接$ a; l: H9 }& n" Y& `% x5 {3 s
$conn = mysql_connect($servername, $username,$password);- F8 Q! }- f/ C" m6 g

' c; E- S7 l$ S// 检测连接
6 u% ~) w6 x. G0 l  ^0 ^if (!$conn) {
1 M# ~2 v8 A8 ~  B- s    die("Connection failed: " . mysql_connect_error());//die()输出一条消息,然后断开2 _" D2 E2 x& |! C
连接。
8 \; X5 U' Q9 [}( s  J# p5 `/ a1 L& w
echo "连接成功";
7 D0 B) t+ f& j4 }  Y/ b6 imysql_close($conn);//关闭连接。( T" G$ h# n4 Q* M( |
?>
& d; ^+ g8 c9 G$ h6 [6 H6 s
! _9 W! T4 ^3 y9 z' k/ z* y       
% |* P" b) _5 l0 H6 j       
5 V0 \& _; J- M8 [+ t/ r& U4 A1 i* K: Z7 k
$ a0 i9 z* k! |3 G  E. W2 r7 |. D$ V
        - V. a2 h3 s5 |2 H: O* j
$ s7 C" W% x" b  o7 \
1 y' n! ~; \9 V* Z1 x. ~( B
       
9 M1 j! P7 ~1 z, a5 G4 g; K# t
% W+ x8 h$ K3 k! g6 n& ~8 e' o, j
       
6 j" ^9 @4 W/ }% M( j# E& ~) s$ N( B        / `4 B$ W1 o$ N/ ]/ o: Z6 b9 E5 x; }. I
在数据表中的显示如下:" r' ~, Z1 A  L1 H
) A+ R$ X7 M$ [$ Y$ L
/ r+ g2 `& f3 ?/ e
        & r( y' s5 v! p3 W
14.png5 u) j! Q1 M  I) {

( B, K/ ^  q2 R6 s* p# W' W3 P8 G
8 @+ |# a& u+ {  e        & y' U4 G5 Y/ c- P* k- a4 M
这里要注意对象浏览器显示的表中的标题行,规定了数据的类型以及其它属忄生。
& t! l3 ^! d3 T% d! v8 p
* |( i. r- m9 N
' d+ S2 f6 o% L       
8 \- M; ~& m) y+ i6 ~& ^14-1.png   F- `1 T  W' ]2 X
7 {6 W7 A2 `$ r& {0 [9 t5 U
        上图是具体的数据图表。 % ?/ M) I! _9 G0 ^4 l

! U: R, `( m4 X+ Q8 I9 X- [3 l' E: O        下面我们来看具体的代码:
$ B. k, w7 n; @8 {* v7 P7 ~& k& V: l" a! s5 f
- J! C/ x. k& m  a
       
% x! O2 F8 B. i8 ]/ U在 PHP 早起版本中我们使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。取而代之的是mysqli扩展和PDO,个人使用的是mysqli扩展。mysqli扩展是mysql扩展的延伸,使用起来两者并没有什么差别,不过前者比后者更强大。下面使用的是mysqli面向过程(它还有一种面向对象的编码方式)的编码方式操作mysql,大家可以对比一下它同上面的mysql扩展编码方式的区别。
; k! ~3 U$ v% T' N7 d" R' h0 v9 c: Q% W" s0 y- t

' P$ }1 ^( O0 k       
! {7 k  I; P& \5 N, x. i18.png
% s; s2 O& |: i3 @6 s2 L  p: H' |4 e) ^
6 h1 }! D2 |: d5 [. e0 d: x( f
       
- w3 f7 E+ e1 z& \3 E) {19.png% L/ E: ^! R7 H1 v0 m

5 Z/ ?# E. C# o% P9 L6 G: n
" ?. q) h) x0 q/ `+ i5 }        6 K/ ]- b6 y" o0 H$ \1 S# Y( [/ O9 G
AUTO INCREMENT - 设置 MySQL 字段的值在新增记录时每次自动增长 1
) b4 m6 K9 ~& ~! m0 r+ u) o  k9 t/ s, n) C9 t) |
        PRIMARY KEY - 设置数据表中每条记录的唯一标识。 通常列的 PRIMARY KEY 设置为 ID 数值,与 AUTO_INCREMENT 一起使用。每个表都应该有一个主键(本列为 “zhubajie_t” 列),主键必须包含唯一的值。(这里大家可能不太理解,不过到后面)
: N" _8 r1 K2 v1 {3 f) C
$ C7 k) X: M$ V% ^
$ `) B3 ?/ ?* }: I        & f; V# R1 W5 B$ Y6 p% g% r
+ [; z/ g/ f* O1 C7 S. q: j
               
$ R/ u4 [7 s3 I, O# DNOT NULL - 每一行都必须含有值(不能为空),null 值是不允许的。
$ Q6 z" ?2 }( B8 R  E( J# W0 x2 i3 @- }
                DEFAULT value - 设置默认值
- Y# V  O8 P6 a5 Z8 e" |
& }/ \5 I' H+ R) Q/ k                UNSIGNED - 使用无符号数值类型,0 及正数
  \1 m- c, U# W) S/ I7 j; q  H7 O- ~& k( Z+ Q: n. J
                上面三种属忄生同指定列的数据类型一样都可以添加给列。(这里好好理解一下)。
5 M+ c9 w4 @5 o0 z  v" D3 V2 G: o! ?6 l( Z4 Q8 _$ l  `- t# q

# U; g3 P  M+ F        & T, L/ a0 _1 s, i+ l0 ~

# u+ b+ I! T) S$ ]- G; v/ t        & N/ d5 P* }) g5 }9 m" ?# X
6、删除表数据
, n5 {# @" j! y# ?
% H7 p% K- T! G       
. U/ i3 y; ]0 g, @* _20.png7 @# j- T  ], Z

" h1 d5 D. \/ m0 S$ i2 w7 k4 e( P资源存放>百度网盘
$ u& v1 C" `" c8 S) i
% [" ?/ G* l3 w/ ], T; r( ^下载地址( D; i3 H' W4 N
游客,如果您要查看本帖隐藏内容请回复

. H" T# o3 i$ KVIP会员全站免金币3 v/ |$ b' n& T- L# e* Y
IT直通车已为全国各地程序员提供上千G课程资源
# v6 I' k1 G9 d: \, F" [9 B如您需要购买本站VIP会员,请点击「开通VIP」享受全站资源免金币无限制下载!
7 P+ |9 ^4 E/ L5 v' b. `3 X! z: F
) A: [  }0 l+ u/ p, b, {失效反馈
/ K0 Z& ^' Z" x  a; ^& K: Q. U7 ]; D% WIT直通车所有资源都存放在自己注册的百度网盘,失效可修复,确保持续可用
* R0 b+ V$ [1 e( h' I1 ^3 v& m' q如您需要的资源链接提示失效,请尽情反馈给我们,将在收到反馈后尽快修复「点击反馈
% [, r/ U3 Y. B4 R2 X2 ^. o
' g, j- A" z5 H% s- d获得帮助' ]6 s  H5 T$ f9 h5 v% S- ?
需要帮助吗?点击网站右侧在线客服,7X12小时在线!& s$ N2 }! l! T3 ?& P& V$ O  g

7 M- E% `# n# D7 K; u; r! r6 L9 c
回复

使用道具 举报

十二音阶囤 发表于 2021-5-29 13:53:06
感谢~~~~~~~~~~~~
回复

使用道具 举报

护身马甲上阵兜 发表于 2021-5-29 19:02:43
回帖看看下载地址
回复

使用道具 举报

123457468 发表于 2021-6-1 15:26:21
<<HP与Mysql关系>>[复制链接]
回复

使用道具 举报

馥琳 发表于 2021-6-2 16:22:03
1111111111
回复

使用道具 举报

hknuhp852859 发表于 2021-6-3 22:49:06
祝IT直通车越办越好
回复

使用道具 举报

冀苍鸾 发表于 2021-6-5 09:51:27
感谢~~~~~~~~~~~~
回复

使用道具 举报

紫色214 发表于 2021-6-5 14:17:11 来自手机
谢谢分享~~~~~
回复

使用道具 举报

我就是但丁徊 发表于 2021-6-5 15:47:27
收割一波好资源
回复

使用道具 举报

我心永恒760 发表于 2021-6-7 14:53:46
6666666666666
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 AD:IT直通车VIP会员全站免金币下载
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

遇到问题联系客服

安全保证百分百处理 

如您充值或开通会员后资源无法下载

本站有售后服务,联系客服修复即可

[联系客服]-[会员充值]

更多课程

由于QQ吞消息严重,网站启用邮件对接VIP会员服务,有事请发邮件到 wangkefuwu@outlook.com

关于本站

VIP介绍 加入我们

售后服务

QQ客服 Email邮件

网站声明

IT直通车(www.itztc.com)是一个IT视频教程、软件、书籍资源整合分享平台
站内所有资源均来自于互联网,版权归属原资源作者,如无意侵犯您的版权,请联系我们删除处理。

Archiver|手机版|小黑屋|IT学习网 |网站地图

Powered by Discuz! X3.4  © 2001-2013 IT直通车 ICP证:粤ICP备13026616号 增值电信业务经营许可证:粤B2-20140196

返回顶部 返回列表