第16章 PHP操作MySQL

学习要点:

1.PHP连接到MySQL

2.增删改查

3.其他常用函数

如果你已经具有了使用PHP、SQL和MySQL的丰富经验,现在就可以把所有这些技术组合在一起。PHP与MySQL之间稳固的集成只是众多程序员采纳它的一个原因,还有一个原因就是,它如此的简单方便。

一.PHP连接到MySQL

这里,我们全面采用UTF-8编码。

设置Zend Stduio的编码:Window -> Preferences -> Workspace

标头设置,让火狐和IE保持编码统一:

header('Content-Type:text/html; charset=utf-8');

?>

连接MySQL

$conn = @mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or

die('数据库连接失败!错误信息:'.mysql_error());

?>

数据库连接参数,可以用常量存储,这样就不能修改,更加安全。

define('DB_USER','root');

define('DB_PASSWORD','yangfan');

define('DB_HOST','localhost');

define('DB_NAME','school');

?>

选择你所需要的数据库

@mysql_select_db(DB_NAME) or die('数据库找不到!错误信息:'.mysql_error());

?>

设置字符集,如果是GBK,直接设置SET NAMES GBK即可

@mysql_query('SET NAMES UTF8') or die('字符集设置错误');

?>

获取记录集

$query = "SELECT * FROM grade";

$result = @mysql_query($query) or die('SQL语句有误!错误信息: '.mysql_error());

?>

输出一条记录

print_r(mysql_fetch_array($result,MYSQL_ASSOC));

?>

释放结果集资源

mysql_free_result($result);

?>

关闭数据库

mysql_close($conn);

?>

二.增删改查

新增数据

$query = "INSERT INTO grade (name,email,point,regdate) VALUE

('李炎恢','yc60.com@gmail.com',,NOW())";

@mysql_query($query) or die('添加数据出错:'.mysql_error());

?>

修改数据

$query = "UPDATE grade SET name='小可爱' WHERE id=6";

@mysql_query($query) or die('修改出错:'.mysql_error());

?>

删除数据

$query = "DELETE FROM grade WHERE id=6";

@mysql_query($query) or die('删除错误:'.mysql_error());

?>

显示数据

$query = "SELECT id,name,email,point FROM grade";

$result = @mysql_query($query) or die('查询语句出错:'.mysql_error());

while (!!$row = mysql_fetch_array($result)) {

echo $row['id'].'----'.$row['name'].'----'.$row['email'].'----'.$row['point'];

echo '
';

}

?>

三.其他常用函数

mysql_fetch_row():从结果集中取得一行作为枚举数组

mysql_fetch_assoc(): 从结果集中取得一行作为关联数组

mysql_fetch_array(): 从结果集中取得一行作为关联数组,或数字数组,或二者兼有

mysql_fetch_lengths(): 取得结果集中每个输出的长度

mysql_field_name():  取得结果中指定字段的字段名

mysql_num_rows(): 取得结果集中行的数目

mysql_num_fields():取得结果集中字段的数目

mysql_get_client_info(): 取得 MySQL客户端信息

mysql_get_host_info(): 取得 MySQL主机信息

mysql_get_proto_info(): 取得 MySQL协议信息

mysql_get_server_info(): 取得 MySQL服务器信息

================================================================

================================================================

================================================================

整体操作:

对于其它类型的 SQL 语句,比如INSERT, UPDATE, DELETE, DROP 之类, mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。

返回的结果资源应该传递给 mysql_fetch_array() 和其他函数来处理结果表,取出返回的数据。

假定查询成功,可以调用 mysql_num_rows() 来查看对应于 SELECT 语句返回了多少行

或者调用 mysql_affected_rows() 来查看对应于 DELETE,INSERT,REPLACE 或 UPDATE 语句影响到了多少行。

如果没有权限访问查询语句中引用的表时,mysql_query() 也会返回 FALSE。*/

//第一步,设置输出编码

header('Content-Type:text/html; charset=utf-8');//第二步,定义常量,保存链接参数

//数据库服务器

define('DB_SERVER','localhost:3306');//用户名

define('DB_NAME','root');//密码

define('DB_PWD','123456');//数据库

define('DB_DATABASE', 'guest');//第三步,连接数据库服务器

$conn = @mysql_connect(DB_SERVER,DB_NAME,DB_PWD) or die('数据库连接错误:'.mysql_error($conn));//第四步,选择使用的数据库

@mysql_select_db(DB_DATABASE,$conn) or die('选择数据库错误:'.mysql_error($conn));//第五步,设置返回数据的字符集

@mysql_query('SET NAMES UTF8') or die('字符集设置错误');//第六步,创建并发送一条SQL语句

//创建SQL语句

$query = "select * from g_users";//发送语句

$result = @mysql_query($query,$conn) or die('SQL错误,错误信息:'.mysql_errno());//第七步,取得查询的数据

//取得所有数据

$data = mysql_fetch_array($result,MYSQL_ASSOC);//取得总记录条数

//$data = mysql_num_rows($result);

//第八步,打印出数据

print_r($data);//第九步,销毁获取的数据资源

mysql_free_result($result);//第十步,关闭数据库连接

mysql_close($conn);?>

配置MySQLHELper代码:

header('Content-Type:text/html; charset=utf-8');//第二步,定义常量,保存链接参数

//数据库服务器

define('DB_SERVER','localhost:3306');//用户名

define('DB_NAME','root');//密码

define('DB_PWD','123456');//数据库

define('DB_DATABASE', 'test');//第三步,连接数据库服务器

$conn = @mysql_connect(DB_SERVER,DB_NAME,DB_PWD) or die('数据库连接错误:'.mysql_error($conn));//第四步,选择使用的数据库

@mysql_select_db(DB_DATABASE,$conn) or die('选择数据库错误:'.mysql_error($conn));//第五步,设置返回数据的字符集

@mysql_query('SET NAMES UTF8') or die('字符集设置错误');?>

操作代码:

/*$Insert_query = "insert into person (name, sex) values ('张三', '男')";

//执行

@mysql_query($Insert_query) or die('插入操作失败,错误原因:'.mysql_error());

//返回 insert ,delete, update,等修改的行数

$num = mysql_affected_rows();

//显示信息

/* if ($num == 1) {

echo '添加成功!';

}else {

echo '添加失败!';

}*/

//删除一条数据

/*$delete_query = "delete from person where id = 7";

//执行

@mysql_query($delete_query) or die('删除数据失败,错误原因:'.mysql_error());

$num = mysql_affected_rows();

//显示信息

/* if ($num == 1) {

echo '删除成功!';

}else {

echo '删除失败!';

}*/

//修改一条数据

/*$update = "update person set name = '王五', sex = '女' where id = 8";

//执行

@mysql_query($update) or die('修改发生错误,错误原因:'.mysql_error());

$num = mysql_affected_rows();

//显示信息

/* if ($num == 1) {

echo '修改成功!';

}else {

echo '修改失败!';

}*/

//查询数据

/*$query = "select id, name, sex from person";

$result = mysql_query($query);*/

//打印单行

/*$row = mysql_fetch_array($result,MYSQL_ASSOC);

echo $row['id'].'--'.$row['name'].'--'.$row['sex'];*/

//打印多行

//当$row不为空的时候,打印数据。使用"!!"的作用是,使得$row数组转换为布尔值。

/*while (!!$row = mysql_fetch_array($result)) {

echo $row['id'].'--'.$row['name'].'--'.$row['sex']."
";

}*/

//获取记录条数

/*$num_query = "select id, name, sex from person";

$result = mysql_query($num_query) or die('查询条数出错,错误信息:'.mysql_error());

$num = mysql_num_rows($result);

echo '条数:'.$num;*/

//关闭数据库链接

mysql_close();?>

php操作mysql数据_PHP - 操作MySQL数据库相关推荐

  1. 【MySQL数据的操作一】

    目录 一.插入数据记录 1.1插入多条完整数据记录 1.2插入多条部分记录 1.3 插入一条记录 1.4 不指定字段插入完整记录 1.4 插入来自其他表的数据 生词表 一.插入数据记录 在MySQL软 ...

  2. 【MySQL 数据的操作二】

    目录 二.更新数据记录 2.1更新特定的数据记录 2.2更新所有数据记录 三.删除数据记录 3.1删除特定数据记录 3.2删除所有数据记录 生词表 二.更新数据记录 可以通过 UPDATE 语句来实现 ...

  3. DM 数据迁移工具——DTS(MySQL数据迁移到DM8数据库 Windows环境)

    DM 数据迁移工具--DTS MySQL数据迁移到DM8数据库 Windows环境 DM 数据迁移工具 DM DTS 提供了主流大型数据库迁移到 DM.DM 到 DM.文件迁移到 DM 以及 DM 迁 ...

  4. nodejs操作sqlserver数据_pyspark操作MySQL、SQLServer数据库进行数据处理操作

    欢迎访问本人的CSDN博客[Together_CZ],我是沂水寒城. https://yishuihancheng.blog.csdn.net 在大数据处理领域里面,Hadoop和spark可以说是最 ...

  5. mysql 字段操作_Mysql:数据库操作、数据表操作、字段操作整理

    mysql 登录本机 mysql -u root -p password 数据库操作 创建数据库 命令:create database 例如:mysql> create database xhk ...

  6. mysql 数据表内容_mysql数据库内容相关操作

    第一:介绍 mysql数据内容的操作主要是: INSERT实现数据的插入 UPDATE实现数据的更新 DLETE实现数据的删除 SELECT实现数据的查询. 第二:增(insert) 1.插入完整的数 ...

  7. php mysql 权重_PHP对MySql的常用操作

    关于PHP对MySql的常用操作 最近做网站,用PHP操作数据库也很多次了,但总是忘记,参考了网上的很多资料,算是整理记录下. 数据库操作类 实现数据库的连接,断开,以及请求: /** * Creat ...

  8. mysql数据表操作_MySQL数据表基本操作实例详解

    本文实例讲述了MySQL数据表基本操作.分享给大家供大家参考,具体如下: 数据表的基本操作 1.主键约束要求主键列的数据唯一,并且不允许为空.主键能够唯一地识别表中的一条记录,可以结合外键来定义不同数 ...

  9. MYSQL数据库命令+操作----最详细的操作教程(测试木头人)

    今天木头人在闲暇之余,整理了一些往期的笔记,欢迎大家一起学习. 这里是一些基础的命令和操作,有错误的地方欢迎大家留言指出 目录 一.mysql安装 二.基本命令 三.MySQL数据库基本操作 四.My ...

最新文章

  1. FreeBSD下安装配置Hadoop集群(四)
  2. 3大VR虚拟现实产品PK赛:HTC、Oculus、索尼谁是大哥
  3. QT的QModbusRequest类的使用
  4. GRUNT----JSHINT
  5. 使用JavaScript实现页面选项自动添加行以及删除行 javaweb
  6. 中国代工厂的困惑:把大牌t恤卖到99块3件,还会有人买吗?
  7. SSH:hql语句传参报错,及antlr-2.7.2.jar重复包的删除
  8. python的前世今生
  9. 谢希仁计算机网络第七版 以太网单播和多播MAC地址范围[纠错]
  10. 计算机组装与维护文化建设,计算机组装与维护能力标准实训教程
  11. ebay html描述模板,ebay产品描述模板
  12. NMEA 0183 校验计算方法
  13. Windows Server 2016忘记密码破解方法
  14. 用vba加载宏求地图分幅
  15. jvm内存模型、jvm内存结构、Java内存结构、Java内存模型(JMM)、Java对象模型的区别(吐血研究整理)
  16. 【学习记录】【python】【tkinter】自学tkinter的简要记录
  17. A tale of two viewports — part one
  18. 远程桌面连接(远程控制另一电脑)的详细步骤
  19. Meebo 和 GMail + Talk 等 WebIM 的实现方式
  20. SQLAlchemy黄金体验

热门文章

  1. java常用代码架构示例
  2. Java Redis操作实例
  3. 2345浏览器怎么换主页 2345浏览器换主页教程
  4. VC++中unhandled exception的处理
  5. mysql5.7.20 安装过程记录
  6. pr导出视频在哪里?
  7. 各大主流招聘平台的优缺点和适合人群【总结】
  8. 如何 增删改查 XML文件中的元素
  9. 关于对信号归一化后的频谱“消失”问题
  10. 小波包分解matlab程序