PHP SQL预处理
php预处理查询
$query='insert into p1(info) values(?)';
$query2='select info from p1 where id=?';
$country=2; // 创建预处理语句
$stmt=mysqli_stmt_init($link); if (mysqli_stmt_prepare($stmt,$query2))
{ // 绑定参数
mysqli_stmt_bind_param($stmt,"i",$country); // 执行查询
mysqli_stmt_execute($stmt); // 绑定结果变量
mysqli_stmt_bind_result($stmt,$name); //此处的变量有几个查询参数就返回写几个 // 获取值
mysqli_stmt_fetch($stmt); printf("国家的网站为:%s",$name); // 关闭预处理语句
mysqli_stmt_close($stmt);
}
循环取数据
$query2='select id,info from p1 where id=? or id=?';
$country=2;
$country2=10;
// 创建预处理语句
$stmt=mysqli_stmt_init($link); if (mysqli_stmt_prepare($stmt,$query2))
{ // 绑定参数
mysqli_stmt_bind_param($stmt,"ii",$country,$country2); // 执行查询
mysqli_stmt_execute($stmt);
//暑促一个对行数的影响
var_dump(mysqli_affected_rows($link)) ;
// 绑定结果变量
mysqli_stmt_bind_result($stmt,$id,$name); // 获取值 while(mysqli_stmt_fetch($stmt)){
printf("查询结果:%s,%s",$id,$name);
}
php预处理插入
$query='insert into p1(info) values(?)';
$country=2; // 创建预处理语句
$stmt=mysqli_stmt_init($link);
// 绑定参数
if (mysqli_stmt_prepare($stmt,$query))
{ // 绑定参数
mysqli_stmt_bind_param($stmt,"s",$country); // 关闭预处理语句
mysqli_stmt_close($stmt);
}
补充
从一个prepared语句返回结果集元数据,配合相关函数,可以用来获得字段的相关信息
mysqli_result mysqli_stmt_result_metadata ( mysqli_stmt $stmt );
①mysqli_fetch_field();
②mysqli_fetch_fields();
取回一个结果集
bool mysqli_stmt_store_result ( mysqli_stmt $stmt );
取回之后可以使用int mysqli_stmt_num_rows ( mysqli_stmt $stmt );返回语句结果集中的行数
释放给定语句处理存储的结果集所占内存
void mysqli_stmt_free_result ( mysqli_stmt $stmt );
关闭一个prepared语句
bool mysqli_stmt_close ( mysqli_stmt $stmt );
//从一个prepared语句返回结果集元数据,配合相关函数,可以用来获得字段的相关信息==================
var_dump($a=mysqli_stmt_result_metadata ($stmt ));
//获取字段信息
var_dump(mysqli_fetch_field($a));
var_dump(mysqli_fetch_field($a));
PHP SQL预处理的更多相关文章
- MySQL的SQL预处理(Prepared)
Prepared SQL Statement:SQL的执行.预编译处理语法.注意点 一.SQL 语句的执行处理1.即时 SQL 一条 SQL 在 DB 接收到最终执行完毕返回,大致的过程如下: 1. ...
- SQL预处理
每向数据库发送一条SQL语句,数据库中的SQL解释器就会将SQL语句转换成数据库底层命令,然后执行该命令完成相关的数据库操作.如果频繁的向数据库提交SQL语句,势必会增加数据库中SQL解释器的负担,进 ...
- 笔记:MyBatis 动态SQL
有时候,静态的SQL语句并不能满足应用程序的需求.我们可以根据一些条件,来动态地构建SQL语句.例如,在Web应用程序中,有可能有一些搜索界面,需要输入一个或多个选项,然后根据这些已选择的条件去执行检 ...
- laravel 查看sql
方法一: 我们有时候想测试一段代码生产的 SQL 语句,比如: 我们想看 App\User::all(); 产生的 SQL 语句,我们简单在 routes.php 做个实验即可: //app/Http ...
- (2.11)Mysql之SQL基础——存储过程与变量
(2.11)Mysql之SQL基础——存储过程 关键字:mysql存储过程 查看存储过程: []SELECT * FROM information_schema.ROUTINES WHERE ROUT ...
- Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器
关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,MyBatis鼓励开发者可以直接使用数据库,而不是将其对开发者隐藏,因为这样可以充分发挥数据库服务 ...
- laravel查看sql语句
我自己是用第一种方法来调试的,第三种不行 不知道为啥 laravel查看sql语句 方法一: 我们有时候想测试一段代码生产的 SQL 语句,比如: 我们想看 App\User::all(); 产生的 ...
- laravel查看执行的sql语句
方法一: 我们有时候想测试一段代码生产的 SQL 语句,比如: 我们想看 App\User::all(); 产生的 SQL 语句,我们简单在 routes.php 做个实验即可: //app/Http ...
- SQL语法详解
ALTER DATABASE修改数据库全局特性 ALTER DATABASE实际上是修改数据库目录中的dp.opt文件 ALTER TABLE修改表的结构 ALTER TABLE对表进行增删列,创建取 ...
随机推荐
- Spring源码学习——自定义标签
2019独角兽企业重金招聘Python工程师标准>>> 1.自定义标签步骤 创建一个需要扩展的组件 定义xsd文件描述组件内容 创建一个文件,实现BeanDefinitionPars ...
- 题解 P2261【[CQOI2007]余数求和】
P2261[[CQOI2007]余数求和] 蒟蒻终于不看题解写出了一个很水的蓝题,然而题解不能交了 虽然还看了一下自己之前的博客 题目要求: \[\sum_{i=1}^{n}{k \bmod i} \ ...
- python(写入 excel 操作 xlwt 模块)
一.安装 xlwt 模块 pip install xlwt 二.excel 写入操作 这种方式只能新增或者覆盖文件写入 import xlwt # 创建一个workbook 设置编码 workbook ...
- JavaWeb开发规范
以下的建议将帮助你更有效地使用本文所描述的 Java 编程标准: ******************************************************* 当你写代码时就应该遵守 ...
- oracle如何实现去重和分页
一:oracle实现去重: user数据表: 分两步:1.查询重复数据 2.删除重复数据 1.查询重复数据:在oracle中实现查询重复数据,可以借助于rowid这个伪列.oracle中每个表物理上 ...
- MATLAB矩阵的表示
矩阵是matlab中最基本的数据对象. l 矩阵的建立 l 冒号表达式 l 结构矩阵和单元矩阵 1.矩阵的建立 (1)利用直接输入法建立矩阵:将矩阵的元素用中括号括起来,按矩阵行的顺序输入各元素 ...
- Spring官网阅读(一)容器及实例化
从今天开始,我们一起过一遍Spring的官网,一边读,一边结合在路神课堂上学习的知识,讲一讲自己的理解.不管是之前关于动态代理的文章,还是读Spring的官网,都是为了之后对Spring的源码做更全面 ...
- 这么多Linux版本,你究竟该怎么选择?
Linux有非常多的版本,比如世面上常见的有 Ubuntu.RedHat.Fedora.Centos等等,这么多的版本我们究竟该选哪一个呢?今天我带大家对各个版本进行一下分析和比较,帮助大家来做出更好 ...
- 11_JavaScript基础入门(1)
JavaScript简介 1.JavaScript用途 前端三层: 结构层 HTML(从语义的角度描述页面的结构) 样式层 CSS(从审美的角度装饰页面) 行为层 JavaScript (从交互 ...
- Java for 嵌套循环
嵌套循环 可以是for循环 while循环也可以是do-while循环 这三着进行组合嵌套 循环思路:先执行外层循环,内层循环作为外层循环的循环体,直到内层循环执行完毕,再次计算外层循环,根据条件决 ...