第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()将获得依次获得一个结果行,并填充到绑定变量中

时间: 2024-11-11 06:43:29

第11章 使用PHP从Web访问MySQL数据库的相关文章

PHP访问MySQL数据库

第9章 PHP访问MySQL数据库 1.  PHP访问MySQL数据库服务器的流程 之前学习mysql的时候,采用的是"客户机/服务器"的体系结构 mysql>select * from a;    -------->MySQL数据库服务器 < --------- PHP访问MySQL数据库的时候,我们的PHP则充当了客户机的角色 PHP充当了客户机的角色----------->MySQL数据库服务器 <----------- 接下来我们可以通过phpin

java文件来演示如何访问MySQL数据库

java文件来演示如何访问MySQL数据库. 注:在命令行或用一个SQL的前端软件创建Database. 先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE TABLE STUDENT ( SNO CHAR(7) NOT NULL, SNAME VARCHAR(8) NOT NULL, SEX CHAR(2) NOT NULL, BDATE DATE NOT NULL, HEIGHT DEC(5,2) DEFAULT 000.00, PRIMARY KE

关于.Net使用企业库访问MySql数据库

关于.Net使用企业库访问MySql数据库 在网上看了很多又重写又加WebConfig中的内容,其实不用那么麻烦 企业库5.0访问MySql数据库只需要在Web服务器安装mysql-connector-net即可. mysql-connector-net官方下载:http://dev.mysql.com/downloads/connector/net/

C#连接、访问MySQL数据库

一.准备工具 visual stuido(本示例使用visual studio 2010) MySql.Data.dll mysql_installer_community_V5.6.21.1_setup.1415604646.msi(网上搜索去下载或者向我索要,联系方式在http://xunwn.com/1010100) 二.新建DBUtility通用访问MySQL类库 1.在解决方案中新建一个DBUtility类库,作为访问MySQL的通用sql语句存放地点 2.引入MySql.Data.d

04.Http协议之GET请求与访问MySQL数据库

转载请标明出处:http://blog.csdn.net/u012637501 一.GET请求(2步) 1.修改实现客户端与服务器通信的LoginToSever.java文件 注释"public String doPost(String name,String psd)  "方法(POST请求方法实体),实现一个"public String doGet(String name,String psd)"(GET方法实体). ........... /*doGet方法

Python3 pymysql 访问MySql数据库

使用pymysql来访问MySQL数据库,注意,有些使用PyMySQL,Python2是mysqldb 如没该module则安装:pip install pymysql (本人Java转Python,还有java编写习惯,有错误请及时提出,相互交流) 1.定义获取数据库连接的Module, DataBase.py import pymysql class MySQLDB: __config={ 'host' : '127.0.0.1', 'port' : 3306, 'user' : 'root

关于利用PHP访问MySql数据库的逻辑操作以及增删改查实例操作

PHP访问MySql数据库 <?php //造连接对象$db = new MySQLi("localhost","root","","0710_test"); //写SQL语句$sql = "select * from student";//检测连接数据库是否成功,失败返回"连接失败",并退出程序 if(mysqli_connect_error()){    die("连

[JavaWeb基础] 003.JAVA访问Mysql数据库

上面两篇讲解了简单的JSP + Servlet的搭建和请求,那么后面我们肯定要用到数据交互,也就是操纵数据库的数据,包括对数字的增加,删除,修改,查询.我们就用简单的MySql来做例子 我们需要引入驱动包mysql-connector-java.jar,自行去网上下载,有很多. 下面我跟着代码看看怎么进行增删改查 1.打开数据库 // 驱动程序名 private String driver = "com.mysql.jdbc.Driver"; // URL指向要访问的数据库名scutc

Python访问MySQL数据库

#encoding: utf-8 import mysql.connector __author__ = 'Administrator' config={'host':'127.0.0.1',#默认127.0.0.1 'user':'root', 'password':'root', 'port':3306 ,#默认即为3306 'database':'test', 'charset':'utf8'#默认即为utf8 } if __name__=="__main__": print(c