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预处理的更多相关文章

  1. MySQL的SQL预处理(Prepared)

    Prepared SQL Statement:SQL的执行.预编译处理语法.注意点 一.SQL 语句的执行处理1.即时 SQL 一条 SQL 在 DB 接收到最终执行完毕返回,大致的过程如下: 1. ...

  2. SQL预处理

    每向数据库发送一条SQL语句,数据库中的SQL解释器就会将SQL语句转换成数据库底层命令,然后执行该命令完成相关的数据库操作.如果频繁的向数据库提交SQL语句,势必会增加数据库中SQL解释器的负担,进 ...

  3. 笔记:MyBatis 动态SQL

    有时候,静态的SQL语句并不能满足应用程序的需求.我们可以根据一些条件,来动态地构建SQL语句.例如,在Web应用程序中,有可能有一些搜索界面,需要输入一个或多个选项,然后根据这些已选择的条件去执行检 ...

  4. laravel 查看sql

    方法一: 我们有时候想测试一段代码生产的 SQL 语句,比如: 我们想看 App\User::all(); 产生的 SQL 语句,我们简单在 routes.php 做个实验即可: //app/Http ...

  5. (2.11)Mysql之SQL基础——存储过程与变量

    (2.11)Mysql之SQL基础——存储过程 关键字:mysql存储过程 查看存储过程: []SELECT * FROM information_schema.ROUTINES WHERE ROUT ...

  6. Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器

    关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,MyBatis鼓励开发者可以直接使用数据库,而不是将其对开发者隐藏,因为这样可以充分发挥数据库服务 ...

  7. laravel查看sql语句

    我自己是用第一种方法来调试的,第三种不行 不知道为啥 laravel查看sql语句 方法一: 我们有时候想测试一段代码生产的 SQL 语句,比如: 我们想看 App\User::all(); 产生的 ...

  8. laravel查看执行的sql语句

    方法一: 我们有时候想测试一段代码生产的 SQL 语句,比如: 我们想看 App\User::all(); 产生的 SQL 语句,我们简单在 routes.php 做个实验即可: //app/Http ...

  9. SQL语法详解

    ALTER DATABASE修改数据库全局特性 ALTER DATABASE实际上是修改数据库目录中的dp.opt文件 ALTER TABLE修改表的结构 ALTER TABLE对表进行增删列,创建取 ...

随机推荐

  1. Spring源码学习——自定义标签

    2019独角兽企业重金招聘Python工程师标准>>> 1.自定义标签步骤 创建一个需要扩展的组件 定义xsd文件描述组件内容 创建一个文件,实现BeanDefinitionPars ...

  2. 题解 P2261【[CQOI2007]余数求和】

    P2261[[CQOI2007]余数求和] 蒟蒻终于不看题解写出了一个很水的蓝题,然而题解不能交了 虽然还看了一下自己之前的博客 题目要求: \[\sum_{i=1}^{n}{k \bmod i} \ ...

  3. python(写入 excel 操作 xlwt 模块)

    一.安装 xlwt 模块 pip install xlwt 二.excel 写入操作 这种方式只能新增或者覆盖文件写入 import xlwt # 创建一个workbook 设置编码 workbook ...

  4. JavaWeb开发规范

    以下的建议将帮助你更有效地使用本文所描述的 Java 编程标准: ******************************************************* 当你写代码时就应该遵守 ...

  5. oracle如何实现去重和分页

    一:oracle实现去重: user数据表: 分两步:1.查询重复数据  2.删除重复数据 1.查询重复数据:在oracle中实现查询重复数据,可以借助于rowid这个伪列.oracle中每个表物理上 ...

  6. MATLAB矩阵的表示

    矩阵是matlab中最基本的数据对象. l  矩阵的建立 l  冒号表达式 l  结构矩阵和单元矩阵 1.矩阵的建立 (1)利用直接输入法建立矩阵:将矩阵的元素用中括号括起来,按矩阵行的顺序输入各元素 ...

  7. Spring官网阅读(一)容器及实例化

    从今天开始,我们一起过一遍Spring的官网,一边读,一边结合在路神课堂上学习的知识,讲一讲自己的理解.不管是之前关于动态代理的文章,还是读Spring的官网,都是为了之后对Spring的源码做更全面 ...

  8. 这么多Linux版本,你究竟该怎么选择?

    Linux有非常多的版本,比如世面上常见的有 Ubuntu.RedHat.Fedora.Centos等等,这么多的版本我们究竟该选哪一个呢?今天我带大家对各个版本进行一下分析和比较,帮助大家来做出更好 ...

  9. 11_JavaScript基础入门(1)

    JavaScript简介 1.JavaScript用途 前端三层: 结构层  HTML(从语义的角度描述页面的结构) 样式层  CSS(从审美的角度装饰页面) 行为层  JavaScript (从交互 ...

  10. Java for 嵌套循环

    嵌套循环 可以是for循环 while循环也可以是do-while循环  这三着进行组合嵌套 循环思路:先执行外层循环,内层循环作为外层循环的循环体,直到内层循环执行完毕,再次计算外层循环,根据条件决 ...