第十六章 PHP 操作MySQL
学习要点:
1.PHP 连接到MySQL
2.增删改查
3.其他常用函数
如果你已经具有了使用PHP、SQL 和MySQL 的丰富经验,现在就可以把所有这些技术
组合在一起。PHP 与MySQL 之间稳固的集成只是众多程序员采纳它的一个原因,还有一个
原因就是,它如此的简单方便。
一.PHP连接到MySQL
这里,我们全面采用UTF-8 编码。
设置Zend Stduio 的编码:Window -> Preferences -> Workspace
标头设置,让火狐和IE 保持编码统一:
- <?php
- header('Content-Type:text/html; charset=utf-8');
- ?>
连接MySQL
- <?php
- $conn = @mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or
- die('数据库连接失败!错误信息:'.mysql_error());
- ?>
数据库连接参数,可以用常量存储,这样就不能修改,更加安全。
- <?php
- define('DB_USER','root');
- define('DB_PASSWORD','yangfan');
- define('DB_HOST','localhost');
- define('DB_NAME' ,'school');
- ?>
选择你所需要的数据库
- <?php
- @mysql_select_db(DB_NAME) or die('数据库找不到!错误信息:'.mysql_error());
- ?>
设置字符集,如果是GBK,直接设置SET NAMES GBK 即可
- <?php
- @mysql_query('SET NAMES UTF8') or die('字符集设置错误');
- ?>
获取记录集
- <?php
- $query = "SELECT * FROM grade";
- $result = @mysql_query($query) or die('SQL 语句有误!错误信息:
- '.mysql_error());
- ?>
输出一条记录
- <?php
- print_r(mysql_fetch_array($result,MYSQL_ASSOC));
- ?>
释放结果集资源
- <?php
- mysql_free_result($result);
- ?>
关闭数据库
- <?php
- mysql_close($conn);
- ?>
二.增删改查
新增数据
- <?php
- $query = "INSERT INTO grade (name,email,point,regdate) VALUE
- ('李炎恢','yc60.com@gmail.com',,NOW())";
- @mysql_query($query) or die('添加数据出错:'.mysql_error());
- ?>
修改数据
- <?php
- $query = "UPDATE grade SET name='小可爱' WHERE id=6";
- @mysql_query($query) or die('修改出错:'.mysql_error());
- ?>
删除数据
- <?php
- $query = "DELETE FROM grade WHERE id=6";
- @mysql_query($query) or die('删除错误:'.mysql_error());
- ?>
显示数据
- <?php
- $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 '<br />';
- }
- ?>
三.其他常用函数
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 服务器信息
注:文章出自李炎恢PHP视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。
第十六章 PHP 操作MySQL的更多相关文章
- python学习笔记-(十六)python操作mysql
一. mysql安装 1. windows下安装mysql 1.1. 下载源: http://dev.mysql.com/downloads/installer/,请认准对应版本 Windows (x ...
- 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用
进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...
- Gradle 1.12用户指南翻译——第三十六章. Sonar Runner 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- Gradle 1.12 翻译——第十六章. 使用文件
有关其它已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或訪问:http://gradledoc.qiniudn.com ...
- 第十六章——处理锁、阻塞和死锁(3)——使用SQLServer Profiler侦测死锁
原文:第十六章--处理锁.阻塞和死锁(3)--使用SQLServer Profiler侦测死锁 前言: 作为DBA,可能经常会遇到有同事或者客户反映经常发生死锁,影响了系统的使用.此时,你需要尽快侦测 ...
- 读《构建之法》一、二、十六章随笔a
第一章 概论 “软件团队要从需求分析开始,把合适的需求梳理出来,然后逐步开展后续工作”:——p3 问题:好的用户体验要从软件分析开始,那么软件分析仅仅是从用户的需求出发吗? 我的看法:需求分析是 ...
- SpringBoot | 第二十六章:邮件发送
前言 讲解了日志相关的知识点后.今天来点相对简单的,一般上,我们在开发一些注册功能.发送验证码或者订单服务时,都会通过短信或者邮件的方式通知消费者,注册或者订单的相关信息.而且基本上邮件的内容都是模版 ...
- 进击的Python【第十六章】:Web前端基础之jQuery
进击的Python[第十六章]:Web前端基础之jQuery 一.什么是 jQuery ? jQuery是一个JavaScript函数库. jQuery是一个轻量级的"写的少,做的多&quo ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十六章:实例化和截头锥体裁切
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十六章:实例化和截头锥体裁切 代码工程地址: https://git ...
随机推荐
- 75 int类型数组中除了一个数出现一次或两次以外,其他数都出现三次,求这个数。[2行核心代码]
[本文链接] http://www.cnblogs.com/hellogiser/p/single-number-of-array-with-other-three-times.html [题目] i ...
- 1.django笔记之django基础
一.django简介 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...
- codeforces 483A. Counterexample 解题报告
题目链接:http://codeforces.com/problemset/problem/483/A 题目意思:给出一个区间 [l, r],要从中找出a, b, c,需要满足 a, b 互质,b, ...
- BestCoder13 1001.Beautiful Palindrome Number(hdu 5062) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5062 题目意思:给出 N,找出 1 - 10^N 中满足 Beautiful Palindrome N ...
- 矩形覆盖(codevs 1101)
题目描述 Description 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4 ...
- Diablo3
1.装备 主手:元素弓 副手:精细箭袋 头: 胸:燃火外套 手:娜塔亚的手感 护腕:稳击护腕 戒指:罗盘玫瑰+布尔凯索的婚戒 颈部:旅者之誓 腰:科雷姆的强力腰带(速度加25%) 腿:深渊挖掘裤 脚: ...
- C/C++函数参数读取顺序2
#include <stdio.h>int main(){ int a=1,b=3,c=3; printf("%d, %d, %d",(a++,b++,c++),b,c ...
- zabbix 监控客户端数据库 zabbix客户端
[root@zabbix客户端 zabbix]# grep -v "^$" etc/zabbix_agentd.conf|grep -v "^#" LogFil ...
- ***PHP中empty()和isset()的区别
对于初学php的人来说,empty()和和isset()用法的区别是很难搞清楚的,他们的用法的差别不仔细去琢磨的话确实很难弄清楚. 先说一下他们的共同点: 都可以判定一个变量是否为空: 都返回bool ...
- hdu 1166:敌兵布阵(树状数组 / 线段树,入门练习题)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...