PHP与Mysql关系

  [复制链接]

2142

主题

2163

帖子

7364

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7364
admin 发表于 2021-5-29 13:49:36
26195 101

- x' z0 d/ z: t7 i3 @) n课程目录  v4 e- Z7 z: d) y& G3 e2 q) ?
: Q( w# z% S% e5 j  X" r
第一部分:我的应用工具。) F. E4 t5 r3 P

  X# B0 P+ B+ R9 W        ; U! _& H- J* [- l" y$ c
  编辑器:sublime text3. & ~% e# x6 V. V- x4 n

9 u4 @+ j. Q0 E4 T/ s: F' c$ D          PHPstudy:该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin,一次忄生安装,无须配置即可使用,是非常方便、好用的PHP调试环境。你不需要再单独下载安装php、mysql、appche,简单方便。 % {0 v  ^* b0 ?) R1 C: J5 S& R
) ?4 F, t: `5 c! g
        首先认识以下phpstudy:: v. o8 ~# H- @

' `, q' j) y1 K' r5 }) {
' ?) B- a5 m. @: `5 D, s- Y' q       
& N" ^  h% Y. f# h/ j+ b* @phpstudy应用程序logo.png 5 C2 c/ c5 W) k, ~" {2 L$ D

( w1 ~4 t2 A1 c) k0 D  G        4.png
! o; m1 f" i9 s
- d6 {/ M9 C4 Q! p, ~- F' I
. G: ^& n: O9 s1 ^+ N# O       
' b1 _" l) h# z& y: i点击上图中的“MySQL管理器”,选择MySQL-Front
# s" l# L. F+ ?: @; D6 N% F: b2 I- {1 S
# x, }7 g, ]- H& }/ n        5.png出现如下界面:
" ]! y! ~' u# A0 ]( u! z1 f" p* Z* [
        打开之后就进入到正式的数据库界面。 & Q  x# L' ]7 {) O
3 ~3 i) P1 K; F" u+ e8 U9 e
        6.png % N& R; K. u: h1 Z9 G

$ g; y1 A9 o$ ^+ |' \# V. V, }        这里只是让大家见识以下mysql,后面会讲它的具体操作。
, N6 h' x1 G0 f; V: d6 \. d9 N$ n) a% ]7 s% r9 z/ g, H

. e  F$ X: X0 g" z: `4 q; |5 C        1 J4 d& k' Y5 |, `* }
这一部分,我所出现的主要问题就是打开图5中的localhost时出现连接不上mysql的问题,实在没有办法才选择重装phpstudy。& q# J0 e, L+ O- T5 J, n; s
. l8 w# ]! S9 d( b# h  }% H
) a( y3 Q$ y6 g6 U, z4 E( W
       
8 b# R5 _) V( N. f; x  W) A. `+ b第二部分:理解php、apache 、mysql之间的关系。9 ]/ \# [, X5 N! ?( n; [

' Q2 H' R( l/ x1 d4 ~- x/ Y        8 D0 n8 j5 m" i% Q/ e% Z
有一位顾客在一家网店上 **了一本书,网店店主收到需求后会去找厂家拿货,店主拿到货把货发给顾客。
! J, J& B3 ?+ {2 d, L& o
1 x9 X+ }+ b, d. |4 D8 f        流程图如下:2 e: x9 x. j0 w
9 Q! |. L" J2 c4 `7 ^
" `3 R7 r) M" J0 s3 g3 |
       
+ r7 D# Z8 L- \7 [9 Z& A实例.jpg
3 p" Z% W. ?9 i( [
; ~4 p* f# z$ x; ~        我们从上图得知,顾客和店主并不直接交流,而是通过店主来交换数据,店主尽提供沟通服务。php、apache、数据库三者之间的关系就像顾客、店主和厂家之间的关系。php需要某种数据,直接把请求发送给apache服务器,apache再把这种请求反馈给数据库,数据库取出响应的数据交给apache服务器,apache服务器再发送给php。 5 Q, B* `% Q  n. G

: ?; G3 g" B; I) f- D& r% G0 o        为什么php和数据库不能直接沟通,非得通过apache呢?
! s) t$ M- ?; G9 L6 P2 V5 b+ w; A7 V8 P$ F
        打个比方:php和数据库就好像两个不同国籍的人,前者来自中国,后者来自美国,语言不通连沟通都成问题,更别说做生意了。恰好有这么一个人叫apache,即懂中文又懂英语,把php的需求翻译成英文后告诉数据库,数据库取出相应的货物交给apache ,apache再交给php。 6 q0 A" u: [# [! O
2 x( h% ^; K# l
            php语言与数据库数据不能相互识别,需要通过apache来进行转换.
* Z* a, s, l5 l6 ~8 S
/ r) R8 x  o3 r, h# v; T        为什么apache不能即当服务器,又做数据库,这样少了一个环节不是更省事吗? + o  M9 `0 k2 e. N2 [8 u6 F# J5 u
% X9 V6 H. T. g! Y* n! q  ?7 J
        这设计到一个分工合理忄生问题。 / T3 l3 G( W, R" A; ^" k& Q
0 f6 W# Y, B; K* b
        如果把apache和数据库合并,就相当于apache既当店主又当厂家,会大大加深apache服务器工作量。数据少的时候apache还能够承受,数据大的时候,apache还要负担工厂仓库的运输和管理工作,最终效益说不定还会大大降低,倒不如把仓库运输和管理的工作交给工厂来做。
" G6 g8 f% q' }4 o; N1 I. Y& @1 U7 q
9 i" l6 q' M: q
        4 o6 t/ Q' n- D  s; X% f
第三部分:mysql数据库(database)
5 L) h. w/ w  j8 O! P( e- b2 h8 G; C
        世界上有很多中数据库,mysql是其中最流行的一种。 - J& o) j) E( [2 }
/ o2 T4 X- F' K: s7 ^8 p9 v
        MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活忄生。(mysql数据库相当于将商品分类后放到不同的仓库,每一个仓库都是一个小数据库,而工厂是一个大数据库。这样方便存取货物,如果不进行分类存放,很明显存储效率会大大降低)。
; Q* T) k# U9 M$ \: N5 O8 K9 p. s) e) N) C6 D
/ ?' u& Y: h4 @3 n+ w" m
       
0 A2 I# O- V2 O. a! p3 rRDBMS即关系数据库管理系统(Relational Database Management System)的特点:
* I# p8 M, A% ?* z2 ^
( a& L* Y6 Y6 J7 K: |; c        1.数据以表格的形式出现
2 z) f7 m+ A) x/ z7 x# I, `, |/ z6 b% }3 b* ?8 W! c, U  m
        2.每行为各种记录名称 1 I. N5 {% B# i4 A0 V. g4 e' L

/ k5 c5 Y. e& }3 p- [+ p4 W- i( l        3.每列为记录名称所对应的数据域
2 |1 U3 n0 M8 ]$ e0 Y* B$ L* |  Z  f
        4.许多的行和列组成一张表单
6 w& v% K9 R/ a) f- v. c" Y6 J! H0 N4 T2 S0 m7 x( Q& j: d
        5.若干的表单组成database9 t' \. B8 h$ g. X

- _* i/ t8 r9 n( d( s) m
( S9 K* u: Q# o       
" |* H/ b! Y3 h7 ?第三部分:利用php操作mysql数据库
3 H$ m6 T6 p, `6 }" r  Y) q
  T) U3 y! J* X. k  n8 J# L       
: F$ ~4 S' T/ O1.使用php脚本连接数据库. T$ `2 V8 Q4 n' d) u  o: A; X* h5 T

1 a  c8 Y& b; k2 D# I# P# R       
5 P- P9 t9 v0 C; ^7 ~PHP 提供了 mysql_connect() 函数来连接数据库。该函数有5个参数,一般我们只用到前面3个。
' ?% f+ t/ }% T  }, i6 Z
0 B  y& |3 J9 P# V
8 k7 ^3 p' C5 a       
% A& ]/ L3 @9 |: C6 @6 d5 F这里你也许会问,php可以连接数据库那appache干什么去了。
; n' ]8 N, u3 p7 Z这里说明一下,apache是一个服务器,其构筑了一个php和数据库可以沟通的环境.php和数据库这两个讲不同语言的人打电话,通过apache这个同声翻译系统进行沟通0 X4 a! R2 A& z; I6 q0 v% l; {
- t! Y3 K) F) K0 D
        6 ]$ @3 U3 w9 x6 [9 K& c. w
       
* x9 l( q3 }' C& C) N, [1 s1
$ G; P) |8 d, V. ]0 L  e  {9 V
  D- l0 S* z8 N3 Q, S% o2 [        " P, H9 i2 c! h, w) q! Z
25 N7 J0 ]. C3 @8 h, [; [1 {

' z5 ^- U" J5 |& @. B. X. e       
+ x7 Y; T" I1 x6 V3 f; t2 a1 ?: v       
* Z/ y8 s; K: K- b& F3 O- \- `2 U. server 规定要连接的服务器。可以包括端口号,例如 “hostname:port”,或者到本地套接字的路径,例如对于 localhost 的 “:/path/to/socket”。 6 b' x! P% K4 @# H2 N
4 |, ~  T+ X! Z( T- l' _
        如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 ‘localhost:3306’。 ) C- z5 ]. \6 e5 H
& s& d; w0 M$ S0 z& y
        . user 用户名。默认值是服务器进程所有者的用户名。 5 {8 U% L4 M2 A1 b% Q# S: q/ `. `
; u+ o& W! i4 m
        . password 密码。默认值是空密码。
" l7 L5 _$ L1 A( ?  t+ i0 F& L* u/ n1 m. K9 ~: ~
% N8 z/ x1 O; C0 v& u
        ' h# n  n( q. [
php mysql_close 用来断开与mysql数据库的联系。一般情况下脚本运行完后会自动断开联系,所以这句也可以不写。不过, mysql_close() 不会关闭由 mysql_pconnect() 建立的持久连接。
- A3 i. E1 }+ j2 u! {: b1 [
, F$ z/ S3 j3 ^. s: J, x        连接数据库:
, X8 m: E) g' J# N- }* S& m) B) k+ v& v6 y& k' e

; I- i( p- h4 @3 P) k        ; H+ k* x; B  d
<?php& e# b2 N4 ?4 Q7 d* p
header("content-type:text/html;charset=utf-8");# @, l  M3 ?# D  K8 [8 ^
$servername = "127.0.0.1";//服务器主机地址% O& c  w) R7 D) L, ], y) j
$username = "root";//访问数据库的用户名- T+ Z( a2 x' w( h* Q9 J) L% q4 \- g
$password = "root";//访问数据库的密码
  g' b- s; M5 k! q! w/ e //phpstudy的mysql有一个默认用户名(root)和密码(root)
! t2 a  E  I( e( g1 b! J& i0 a, f; d* g5 C3 X  T" @
// 创建连接2 L; ]+ E* |( h. a
$conn = mysql_connect($servername, $username,$password);/ N, P& E) [8 N- a7 R- H
  w, w; y2 G1 s5 D
// 检测连接' |" @  m; m) c" g# }/ R3 q% |
if (!$conn) {' r( K+ v1 O! B0 K; I# n
    die("Connection failed: " . mysql_connect_error());//die()输出一条消息,然后断开; O9 f3 `/ E1 f- c" n
连接。& `: z0 z& |) g" D9 V2 B
}8 U2 e* @+ ~0 a$ A
echo "连接成功";! A  z3 |% S3 m; d8 J
mysql_close($conn);//关闭连接。
  s2 E) V7 |7 C7 Q' P?>6 {" S% n/ W4 F, W7 `. ]

0 N' @. p) i1 }. j        + \* g5 T2 A% F9 Q
        8 m: n: c& ]. a$ D/ j
9 g- u; B0 E& b! C

3 ]$ T% e$ m9 e/ c        ; _6 m  z: q8 D" B0 j, i

3 s0 q9 ?( I, k
# m2 t& U% {! l* w3 Z7 b0 F7 G. Y+ V        ) C. @! q) |- r/ W' t6 T

/ b" [* g6 k! h5 y) ^
+ [* }5 @' W+ B' n9 n        & |9 J9 I6 j  {4 a+ w. a1 h
        " Y) |7 `; `6 s0 [% j+ z
在数据表中的显示如下:
: G  O3 O2 }% k5 ?; I1 a: a: R, D% M0 I7 c9 w* m

1 n% Y1 L; u3 P: ?2 [       
* O; R/ R$ Y2 f. n  h14.png! i+ g7 a. g. x2 N, P0 }

6 B( s9 e! x. J# d
8 @" a; b! N! f        ! H1 F8 @( ^) s+ k- R4 {
这里要注意对象浏览器显示的表中的标题行,规定了数据的类型以及其它属忄生。
/ N5 G+ L3 T7 y( G: w! n4 n* [! [+ j4 e5 D

# y0 _  s1 f+ m, M       
% e& S! K. q5 q$ ?/ x" x14-1.png
4 c0 \0 d. d5 H* n; B1 O  T
0 a% p4 G" d6 ]+ z        上图是具体的数据图表。 ) V8 T' u( ^0 `

) v! m9 R: r) ?) W& G# n! d5 c        下面我们来看具体的代码:9 x! h. _- o  M* G
) e5 m+ i  M1 k! t- K. \" E, P

4 Q/ `4 z: s2 K2 j6 |, v       
& E/ t8 Y2 q- x! d) S5 ?( O在 PHP 早起版本中我们使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。取而代之的是mysqli扩展和PDO,个人使用的是mysqli扩展。mysqli扩展是mysql扩展的延伸,使用起来两者并没有什么差别,不过前者比后者更强大。下面使用的是mysqli面向过程(它还有一种面向对象的编码方式)的编码方式操作mysql,大家可以对比一下它同上面的mysql扩展编码方式的区别。+ o5 Z3 C! K- W0 k. J2 ?
$ e& B- l  ^6 G6 m( ^/ }

- G6 X' `" v9 R8 w- n$ Y       
4 Z9 M+ w0 O& N, _" r18.png
" s: F5 K; e6 t3 W  ~# y- O% F5 N% `7 M" S. M- ?9 ?

8 h4 ~  R) \- \$ f) e9 F5 k' G       
2 V" h  s- r+ y) E8 r19.png
" p% k! D/ a2 m& o* H) P* D7 c9 T

4 W0 d* p4 C+ c       
9 l, H, S" g2 T% K" C7 DAUTO INCREMENT - 设置 MySQL 字段的值在新增记录时每次自动增长 1
/ X  X# ^) r2 I- M& r3 e5 T1 S/ y: U) `0 `" {
        PRIMARY KEY - 设置数据表中每条记录的唯一标识。 通常列的 PRIMARY KEY 设置为 ID 数值,与 AUTO_INCREMENT 一起使用。每个表都应该有一个主键(本列为 “zhubajie_t” 列),主键必须包含唯一的值。(这里大家可能不太理解,不过到后面)+ K/ ^% r/ i9 r- m! ~$ p6 t
+ X) b4 f$ ]+ C5 _- m* ?

( q2 k& K% z+ X: ?# U        0 i0 C" p4 t* y! l  i2 |

: j0 x: m. P3 p: ?# V6 U               
4 g2 J9 L1 U! LNOT NULL - 每一行都必须含有值(不能为空),null 值是不允许的。
# `% x' m. [, T$ ], K* \
) z& m7 F7 A& O/ [                DEFAULT value - 设置默认值
$ o5 o- y( N) ~% @" r0 |# q, E( S8 S$ x2 |
+ D1 \' U8 }7 R. @( c- x                UNSIGNED - 使用无符号数值类型,0 及正数
! |$ ?  _1 E+ F+ T' u* E: N. s# [
0 `" T3 X8 q  z5 N                上面三种属忄生同指定列的数据类型一样都可以添加给列。(这里好好理解一下)。# p2 i* s7 c. r/ Z0 U, C

1 M4 u8 f8 E- M" e. d) ~7 E! ^" W7 y, Y
        ) b. O  T9 n5 S

6 k( F) m! Y6 S8 l1 K        ( a0 h0 G6 }5 t  ^6 K0 I
6、删除表数据1 c4 m8 D5 A$ _# }

9 |% r# N6 B7 k0 J1 R3 H3 W       
5 s& V9 j5 S" S9 o7 z' y20.png
  U  Q0 o! f4 z8 i9 Q' [
/ E' Q9 y  W5 ^0 q资源存放>百度网盘
7 {! B. h; t2 P' |/ h% t
/ U% ?+ C/ l5 o5 M! T% @下载地址) B9 ~2 U) `) a" v( k4 C
游客,如果您要查看本帖隐藏内容请回复
0 j6 i6 W# e3 [! E
VIP会员全站免金币
. E- m4 Y$ u: j/ hIT直通车已为全国各地程序员提供上千G课程资源
8 Z% f0 @; N; |; r: b8 H如您需要购买本站VIP会员,请点击「开通VIP」享受全站资源免金币无限制下载!4 H6 o( K" O. j

, J* s6 H' V% c# ~' [( P失效反馈4 D+ t( b- p7 Y. @# _; x
IT直通车所有资源都存放在自己注册的百度网盘,失效可修复,确保持续可用1 @/ N+ b2 m* I7 k0 p# f' J
如您需要的资源链接提示失效,请尽情反馈给我们,将在收到反馈后尽快修复「点击反馈
  L  W. @: r, B* h8 x+ r. I: ?5 T2 z: }7 k$ Y
获得帮助9 R; h2 \. \8 \, h3 y2 b' Y6 h: r
需要帮助吗?点击网站右侧在线客服,7X12小时在线!' ^% i5 S8 E! `0 W5 _. _7 d; V

& u- |- X. y" ~' z! Z* i$ L% c+ J
回复

使用道具 举报

十二音阶囤 发表于 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

返回顶部 返回列表