|
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 |
|