第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 ...
随机推荐
- Function.prototype.toString
语法:fn.toString(indentation) 改方法返回当前函数源代码的字符串,而且还可对此字符串进行操作,比如: function num(){ }; var str = num.toSt ...
- NET Framework 4.5新特性 数据库的连接加密保护。
NET Framework 4.5新特性 (一) 数据库的连接加密保护. NET Framework 4.5 ado.net数据库连接支持使用SecureString内存流方式保密文本. 一旦使用这 ...
- Oracle Database Instant Client 11g 32位和64位 安装包发布
Oracle Database Instant Client 11g 32位和64 Oracle Database Instant Client 11g 11.2.0.3.0 Instant Clie ...
- 第三方控件netadvantage UltraWebGrid如何生成带加号多级表数据也就是带子表
1.看代码不解释: ds.Relations.Add("fk", ds.Tables[0].Columns["Id"], ds.Tables[1].Column ...
- java 生成easyui 所需要的森林
在项目中,可能会遇到机构树这种格式,但是数据库存储的数据 不能维护这样子的树,所以需要中间转换来完成,zTree可以支持pid,id,name的格式,但是easyui貌似不行,这里就给出刚刚码好的代码 ...
- centos 4.4配置使用 and Nutch搜索引擎(第1期)_ Nutch简介及安装
centos 4.4配置使用 1.Nutch简介 Nutch是一个由Java实现的,开放源代码(open-source)的web搜索引擎.主要用于收集网页数据,然后对其进行分析,建立索引,以提供相应的 ...
- 交叉编译和使用HTOP
1.什么是htop htop来源于top,top是Unix/linux下功能强大的性能检测工具之一,用于实时检测并统计进程的属性和状态,基于ncurses库,可上显示文字界面.但是top已经非常陈旧, ...
- Jquery EasyUI中treegrid
Jquery EasyUI中treegrid的中右键菜单和一般按钮同时绑定事件时的怪异事件 InChatter系统开源聊天模块前奏曲 最近在研究WCF,又因为工作中的项目需要,要为现有的系统增加一 ...
- 教你用shell写CGI程序
以前用shell写过一些cgi的例子.今天向大家介绍一下. CGI是一种接口的标准,并不区分编程语言,也就是说,CGI可以用任何一种语言编写,只要这种语言具有标准输入.输出和环境变量.CGI会将标准输 ...
- .NET重构—单元测试重构
.NET重构—单元测试重构 阅读目录: 1.开篇介绍 2.单元测试.测试用例代码重复问题(大量使用重复的Mock对象及测试数据) 2.1.单元测试的继承体系(利用超类来减少Mock对象的使用) 2.1 ...