第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操作语句now_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!

    本篇Himi简单介绍一些MySQL数据库的基础操作: 注:mysql 语句对大小写不敏感,语句以分号";"标识语句结束: 1.   首先使用两个简单的查询语句: 查询当前版本:se ...

  2. pymysql建表_Python数据库操作,针对pymysql 和 MYSQL数据库

    此文将以MYSQL数据库做为例子,pymysql库作为驱动进行学习 安装MYSQL数据库与pymysql第三方库 安装pymysql库不多做叙述 安装navicat for mysql,此程序用来管理 ...

  3. python 事务操作_Python实现连接mysql数据库及事务处理【冰斌棒】

    Python实现连接mysql数据库及事务处理[冰斌棒] 3年前 (2018-02-02)    作者:冰斌棒    分类:冰斌棒18程序计划    阅读次数:774 评论(0) import pym ...

  4. php连接mysql_PHP连接MySQL数据库的三种方式

    本篇文章给大家介绍一下PHP连接MySQL数据库的三种方式(mysql.mysqli.pdo),结合实例形式分析了PHP基于mysql.mysqli.pdo三种方式连接MySQL数据库的相关操作技巧与 ...

  5. discuz php mysql_php下mysql数据库操作类(改自discuz)

    /* -------------------------------- System:PT book - PT小说小偷 Code: 杰少Pakey -------------------------- ...

  6. Golang操作mysqlx库处理MySQL数据库

    增删改查 package mainimport ("fmt"_ "github.com/go-sql-driver/mysql""github.com ...

  7. php mysql操作封装_php封装MySQL数据库基本操作

    一周之后就回家喽,闲来无聊,学习了一下 php 面向对象的封装 什么是面向对象: 对象:其实就是对数据和拥有的属性进行封装一种抽象, 故出现了封装,多态的概念,在这里就不扯太多概念性的东西, 还是代码 ...

  8. ubuntu mysql 操作_Ubuntu系统下MySQL数据库基本操作

    Ubuntu系统下安装MySQL后,所有新创建的数据库的默认目录为/var/lib/mysql目录,以后用户自己创建的数据库默认就保存在这个目录下.在终端输入mysql回车后,启动mysql服务,可以 ...

  9. MySQL练习记录——利用Python的pymysql模块操作MySQL数据库

    文章目录 前言 # 第一部分:数据库练习 准备数据 创建数据表 插入数据 SQL演练 1. SQL语句的强化 2. 创建"商品分类"表 3. 同步表数据 4. 创建"商品 ...

最新文章

  1. 行家来信 | 我在国际AI开源组织LFAI当董事的200天
  2. mysql cluster 外键_Mysql外键约束
  3. 华软计算机网络技术,[计算机硬件及网络]计算机网络技术专业自评报告华软.doc...
  4. C# 类(14) 事件
  5. LightGBM最强解析,从算法原理到代码实现~
  6. 仅剩296个免费名额,AI工程师进阶必修课今日领取
  7. 啥情况?为什么我的 Service 无法注入进来?
  8. Thread系列——ThreadPool
  9. IIS和Asp.Net页面运行机制
  10. 矩阵乘法c语言蓝桥杯,[蓝桥杯][基础练习VIP]矩阵乘法 (C语言代码)
  11. HTML 5 input placeholder 属性 实现搜索框提示文字点击输入后消失
  12. 号称“绝对安全”的量子通信到底是什么?
  13. Show一下2008新技术体验活动的奖品
  14. 《商务与经济统计》要点回顾笔记
  15. 进销存excel_EXCEL也能连接扫码枪?商品扫码入库,免费进销存自由修改功能
  16. 【转载】怎样编写CSS?
  17. 客户成功团队的 OKR 案例
  18. USB OTG的工作原理
  19. 【统计学】统计学基础
  20. 基本的计算机结构知识----基础向

热门文章

  1. activiti学习(二十一)——流程虚拟机源码分析(三)——从进入到离开userTask
  2. Java进行图像缩放
  3. [翻译]CryEngine3中裁剪剔除解释
  4. Opcua学习笔记1 opc介绍
  5. DAO:可及性与问责制、分权与效率 、开放与控制的三大权衡
  6. P4学习笔记(三)P4编程语言简介
  7. 自然语言处理顶会 NAACL 2018 最佳论文、时间检验论文揭晓
  8. 怎么访问到别人的电脑?
  9. C语言矩阵运算库大起底
  10. Water Research | 南科大夏雨组揭示Anammox菌群微米级空间异质性和保守互作