第11章 使用PHP从Web访问MySQL数据库
1.过滤用户可能值其搜索条件的起始或结束位置不小心输入的空白字符: 应用trim();
2.转义数据(第4章)函数:addslashes(),stripslashes(),get_magic_quotes_gpc();
3.在脚本中连接MySQL服务器:mysqli(…,…,…,…);
//面向对象的方法(实例化一个对象)
@ $db=new mysqli(‘localhost’,’bookorama’,’bookorama123’,’books’);
//面向过程的方式
@ $db=mysqli_connect(‘localhost’,’bookorama’,’bookorama123’,’books’);
//测试连接的结果的函数:mysqli_connect_errno()
4.从Web连接数据库:
mysqli_select_db(db_resource, db_name);
或 $db->select_db(dbname);
5\.查询数据库:
$result=$db->query($query); //面向对象版本
$result=mysqli_query($db,$query); //面向过程版本
6.返回记录行的行数:
$num_results=$result->num_rows; //面向对象版本
$num_results=mysqli_num_rows($result); //面向过程版本
7.
①获取集合中某一行并以一个相关数组返回该行:
$row=$result->fetch_assoc(); //面向对象版本
$row=mysqli_fetch_assoc($assoc); //面向过程版本
然后通过$row[‘title’],$row[‘author’]等来访问每个属性;
②获取一行并取回到一个对象中:
$row=$result->fetch_object(); 或 $row=mysqli_fetch_object($result);
然后通过$row->title,$row->author等来访问每个属性;
8.从数据库断开连接:
①释放结果集: $result->free(); 或 mysqli_free_result($result);
②关闭与数据库的连接:$db->close(); 或 mysqli_close($db);
9.prepared语句:
①查询速度更快,可免受sQL注射风格的攻击;
②基本思想:向MySQL发送一个需要执行的查询模板,然后再单独发送数据;
如: 【INSERT插入操作:用prepare绑定参数】
$query=”insert into books values(?,?,?,?)”; //查询模板
$stmt=$db->prepare($query); //构建需要用来完成实际处理的资源
$stmt->bind_param(“sssd”,$isbn,$author,$title,$price);
//bind_param()告诉PHP哪些变量应该被问号所替换
//第一个参数(这里是”sssd”)是一个格式化字符串
//sssd:所传递的四个参数分别是字符串、字符串、字符串、双精度
//s:字符串 d:双精度 i:整数 b:blob
//过程版本中是mysqli_stmt_bind_param()
$stmt->execute(); //调用execute()函数时才真正运行此查询
//过程版本中是mysqli_stmt_execute()
【SELECT选择操作:用prepare绑定结果】
$stmt->bind_result($isbn,$author,$title,$price); //提供希望填充结果列的变量列表
//mysqli_stmt_bind_result()
$stmt->execute();
//然后在循环中调用如下语句:
$stmt->fetch(); //fetch()将获得依次获得一个结果行,并填充到绑定变量中
第11章 使用PHP从Web访问MySQL数据库的更多相关文章
- 使用PHP从web访问mysql数据库
一. web数据库构架的工作原理 1. 用户由浏览器发出HTTP请求,请求特定的web页面. 2. web服务器接受接收到对特定页面的请求,检索相应文件,并将其传递给php引擎处理. 3. php引擎 ...
- 对C#中的web访问mysql数据库的一些知识点进行了整理归纳总结
基本对比 使用方式 使用场合 优缺点 是否需要安装 需要的dll网址 引用方式 程序内引用 程序初期确定使用MySql,前期添加引用 大多数情况下使用在类文件内,多数使用于aspx,ashx等带有后置 ...
- C# web访问mysql数据库-整理归纳总结
基本对比 使用方式 使用场合 优缺点 是否需要安装 需要的dll网址 引用方式 程序内引用 程序初期确定使用MySql,前期添加引用 大多数情况下使用在类文件内,多数使用于aspx,ashx等带有后置 ...
- android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?
通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...
- 基于gin的golang web开发:访问mysql数据库
web开发基本都离不开访问数据库,在Gin中使用mysql数据库需要依赖mysql的驱动.直接使用驱动提供的API就要写很多样板代码.你可以找到很多扩展包这里介绍的是jmoiron/sqlx.另外还有 ...
- Linux下C++访问MySQL数据库
由于想要开始了解并学习用LAMP进行web开发,所以昨晚我在Fedora上安装了MySQL,学习了MySQL的几个常用命令.想着在学习进行web开发(PHP访问数据库)之前,先用我熟悉的C++连接数据 ...
- C#连接、访问MySQL数据库
一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_set ...
- Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...
- 关于.Net使用企业库访问MySql数据库
关于.Net使用企业库访问MySql数据库 在网上看了很多又重写又加WebConfig中的内容,其实不用那么麻烦 企业库5.0访问MySql数据库只需要在Web服务器安装mysql-connector ...
随机推荐
- php和cookie
cookie常用于用户识别,是服务器留在用户计算机中的小文件. cookie在浏览器端和服务器端的通信过程大致是这样: 浏览器向服务器作出请求(如果浏览器有cookie,将在request heade ...
- Javascript多线程引擎(七)
Javascript多线程引擎(七)--synchronized关键字 经过两天的努力, 今天synchronzied关键字终于支持了, 如下是测试代码 thread() 是一个开启新线程的API, ...
- 迷你 MVC
深入研究 蒋金楠(Artech)老师的 MiniMvc(迷你 MVC),看看 MVC 内部到底是如何运行的 2014-04-05 13:52 by 自由的生活, 645 阅读, 2 评论, 收藏, 编 ...
- Object C和C#的差异
从C#到Object C,循序渐进学习苹果开发(1)--准备开发账号和开发环境 本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台开发苹果开发的一系列感想和体验历程,本系列文章是在起步 ...
- SZU:G32 Mass fraction
Judge Info Memory Limit: 32768KB Case Time Limit: 5000MS Time Limit: 5000MS Judger: Float Numbers (1 ...
- 定制你自己的jQuery
如何定制你自己的jQuery jQuery随着版本的不断升级代码量也随之增加,从1.0.0的不到两千行到现在的1.10.2已经突破1万行. 新的API不断增加,但有些在项目中并没有用到.jQuery团 ...
- 浅谈DevExpress<四>:TreeList中的拖拽功能
本篇要实现的目标,简单来说就是把一个treelist的节点用鼠标拖到另外的节点(自身或其他的listview)上,如下图: 1
- Day1:T1 模拟 T2 拓扑排序
T1:模拟 自己第一天的简直跟白痴一样啊...模拟都会打错.. 当时貌似在更新最大值的时候打逗比了... if((sum[x]==max && x<maxh) || sum[x] ...
- smtp中ehlo的使用
以前玩smtp的时候申明都是用的helo,最近在整理邮件服务的时候,才知道还有一个叫做ehlo的(太落后了). google了一下,了解了基本上是这么个情况:ehlo是对helo的扩展,即extend ...
- 企业架构研究总结(35)——TOGAF架构内容框架之构建块(Building Blocks)
之前忙于搬家移居,无暇顾及博客,今天终于得闲继续我的“政治课”了,希望之后至少能够补完TOGAF方面的内容.从前面文章可以看出,笔者并无太多能力和机会对TOGAF进行理论和实际的联系,仅可对标准的文本 ...