0

0

细说PHP结合mysql

韦小宝

韦小宝

发布时间:2018-03-09 11:33:57

|

6656人浏览过

|

来源于php中文网

原创

相信很多php程序员在进行php开发中用到的数据库都是mysql数据库,而到底为什么php开发要结合mysql数据库呢,不是也可以用别的数据库嘛,为什么不用呢,那么我们就一起看看,细说php结合mysql,为什么php开发就要结合mysql。

相关mysql视频教程推荐:《mysql教程》                                      

第一部分:我的应用工具。

phpstudy:该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。你不需要再单独下载安装php、mysql、appche,简单方便。
首先认识以下phpstudy:
4.png

点击上图中的“MySQL管理器”,选择MySQL-Front
5.png

出现如下界面:
打开之后就进入到正式的数据库界面。
6.png
这里只是让大家见识以下mysql,后面会讲它的具体操作。

这一部分,我所出现的主要问题就是打开图5中的localhost时出现连接不上mysql的问题,实在没有办法才选择重装phpstudy。

立即学习PHP免费学习笔记(深入)”;

第二部分:理解php、apache 、mysql之间的关系。

有一位顾客在一家网店上 购买了一本书,网店店主收到需求后会去找厂家拿货,店主拿到货把货发给顾客。
流程图如下:

实例.jpg
我们从上图得知,顾客和店主并不直接交流,而是通过店主来交换数据,店主尽提供沟通服务。phpapache、数据库三者之间的关系就像顾客、店主和厂家之间的关系。php需要某种数据,直接把请求发送给apache服务器,apache再把这种请求反馈给数据库,数据库取出响应的数据交给apache服务器,apache服务器再发送给PHP
1、为什么php和数据库不能直接沟通,非得通过apache呢?

打个比方:php和数据库就好像两个不同国籍的人,前者来自中国,后者来自美国,语言不通连沟通都成问题,更别说做生意了。恰好有这么一个人叫apache,即懂中文又懂英语,把php的需求翻译成英文后告诉数据库,数据库取出相应的货物交给apache ,apache再交给php。
php语言与数据库数据不能相互识别,需要通过apache来进行转换.
2、为什么apache不能即当服务器,又做数据库,这样少了一个环节不是更省事吗?
这设计到一个分工合理性问题。
如果把apache和数据库合并,就相当于apache既当店主又当厂家,会大大加深apache服务器工作量。数据少的时候apache还能够承受,数据大的时候,apache还要负担工厂仓库的运输和管理工作,最终效益说不定还会大大降低,倒不如把仓库运输和管理的工作交给工厂来做。

mysql数据库(database)
世界上有很多中数据库,mysql是其中最流行的一种。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。(mysql数据库相当于将商品分类后放到不同的仓库,每一个仓库都是一个小数据库,而工厂是一个大数据库。这样方便存取货物,如果不进行分类存放,很明显存储效率会大大降低)。

RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database

第三部分:利用php操作mysql数据库

1.使用php脚本连接数据库

PHP 提供了 mysql_connect() 函数来连接数据库。该函数有5个参数,一般我们只用到前面3个。

这里你也许会问,php可以连接数据库那appache干什么去了。
这里说明一下,apache是一个服务器,其构筑了一个php和数据库可以沟通的环境.php和数据库这两个讲不同语言的人打电话,
通过apache这个同声翻译系统进行沟通

. server    规定要连接的服务器。可以包括端口号,例如 “hostname:port”,或者到本地套接字的路径,例如对于 localhost 的 “:/path/to/socket”。
如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是 ‘localhost:3306’。
. user      用户名。默认值是服务器进程所有者的用户名。
. password  密码。默认值是空密码。

php   mysql_close 用来断开与mysql数据库的联系。一般情况下脚本运行完后会自动断开联系,所以这句也可以不写。不过, mysql_close() 不会关闭由 mysql_pconnect() 建立的持久连接。
连接数据库:

数据库不是每一个人都可以访问,只有有权限的人才可以进行访问。下面我来演示如果mysql-front工具来添加用户。

7.png
添加新用户后:

8.png
用新用户进行访问操作:

连接成功。

2、创建数据库

php利用mysql_query(sql,connection)来创建或者删除数据库。mysql_query()把搜索查询的语句sql通过建立的连接connection发送给数据库。数据库读取之后响应相应操作。

";
$sql = "CREATE DATABASE zhubajie";//CREATE DATABASE是sql语言中创建数据库的语句,这里是一个创建名为“zhubajie”
的数据库的字符串。
$dingpa = mysql_query($sql,$conn);//将$sql查询语句发送给数据库。
if (!$dingpa) {
    die("创建数据库失败:".mysql_error());
}
echo "创建成功";
mysql_close($conn);//关闭连接。
?>

运行后,
9.png

有时候你会发现,上面的php文件运行会显示下图所示的错误:

intense图片全屏浏览插件(jQuery)
intense图片全屏浏览插件(jQuery)

intense图片全屏浏览插件(jQuery),当鼠标点击图片时,可以全屏幕浏览图片,移动鼠标可以查看图片不同的部分,适合相册展示图片细节。兼容主流浏览器,php中文网推荐下载! 使用方法: 1、head区域引用文件styles.css及intense.js 2、在文件中加入区域代码 3、复制images文件夹

下载

10.png
出现这个错误的原因是你通过$username = “sunwukong”; 用户名访问数据库时,而这个用户在mysql中被创建时是没有赋予权限的。

11.png

3、删除数据库

删除数据库和创造数据库一样也是通过 mysql_query来实现。

12.png

4、创建数据表数据

13.png

我们将创建一个名为 “MyGuests” 的表,有 5 个列: “id”, “firstname”, “lastname”, “email” 和 “reg_date”:
创建数据表MyGuests:

CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)

在数据表中的显示如下:

14.png

这里要注意对象浏览器显示的表中的标题行,规定了数据的类型以及其它属性。

14-1.png
上图是具体的数据图表。
下面我们来看具体的代码:

在 PHP 早起版本中我们使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。取而代之的是mysqli扩展和PDO,个人使用的是mysqli扩展。mysqli扩展是mysql扩展的延伸,使用起来两者并没有什么差别,不过前者比后者更强大。下面使用的是mysqli面向过程(它还有一种面向对象的编码方式)的编码方式操作mysql,大家可以对比一下它同上面的mysql扩展编码方式的区别。

18.png

19.png

AUTO INCREMENT - 设置 MySQL 字段的值在新增记录时每次自动增长 1
PRIMARY KEY - 设置数据表中每条记录的唯一标识。 通常列的 PRIMARY KEY 设置为 ID 数值,与 AUTO_INCREMENT 一起使用。每个表都应该有一个主键(本列为 “zhubajie_t” 列),主键必须包含唯一的值。(这里大家可能不太理解,不过到后面)

NOT NULL - 每一行都必须含有值(不能为空),null 值是不允许的。  DEFAULT value - 设置默认值  UNSIGNED - 使用无符号数值类型,0 及正数  上面三种属性同指定列的数据类型一样都可以添加给列。(这里好好理解一下)。

5、删除表数据

20.png

其实PHP结合mysql开发早就成了一种习惯了,就像是男人和女人,当然也存在特别情况。

相关推荐:

对mysql数据库进行优化总结

以MySQL为例,带你理解那些数据库军规

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

37

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

37

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.8万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 793人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号