第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 ...
随机推荐
- HAProxy+apache实现web服务动静分离
HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支 ...
- C#函数式程序设计之泛型(下)
C#函数式程序设计之泛型(下) 每当使用泛型类型时,可以通过where字句对泛型添加约束: + 这个例子直观地声明了一个约束:类型T必须与ListItem<string>相匹配.泛型类 ...
- iOS基础 - CALayer
一.CALayer简介 Core Animation是跨平台的,支持iOS环境和Mac OS X环境 凡是支持跨平台的框架,都不能直接使用UIKit框架,因为UIKit框架只能应用在iOS而不能用于M ...
- Winform系列
小菜学习编程-Winform系列(初学者) 前言 记得上次写<小菜的程序员道路(二)>,这篇文章的时候说过,要把工作以来整理的编程知识分享给大家,因为这半年来的工作实在是忙,现在也在忙 ...
- [转]Use the IDA and LLDB explore WebCore C + + class inheritance
原文:http://www.phonesdevelopers.com/1781016/ The surgery class named PluginWidgetIOS use lldb can get ...
- 企业架构研究总结(31)——TOGAF架构内容框架之内容元模型(下)
2.2 治理扩展(Governance Extensions) 治理扩展元模型内容 治理扩展部分的意图在于引入额外的,并且与支持运营治理的目标和业务服务相关的结构化数据. 2.2.1 关注范围 为目标 ...
- c语言,求字符数组的长度
练手代码,适用初级码农: #include<stdlib.h> #include<stdio.h> #include<assert.h> int count(con ...
- 编译linux内核时出错
在编译linux内核的时候使用make menuconfig 可能出现下面的错误 *** Unable to find the ncurses libraries or the*** required ...
- tomcat配置数据池
1->配置servlet.xml 在 <GlobalNamingResources></GlobalNamingResources>中添加<Resource> ...
- ngx-push-stream模块源码学习(一)——序言
一.概述 与传统的request-response的web应用模式不同,comet是一种长连接(long-held)的应用模式,从而允许服务端主动向客户端推送数据. 主流的comet技 ...