预编译在mysql端

预编译可以自动防止sql注入攻击

  1. <?php
  2. //预编译技术
  3. //1.创建一个mysqli对象
  4. //2.创建myslqi预编译对象
  5. $mysqli=new mysqli("localhost", "root", "root", "user1", );
  6. $mysqli->set_charset("utf8");
  7.  
  8. $sql="insert into user1(name,password,email,age) values(?,?,?,?)";
  9.  
  10. $mysqli_stmt=$mysqli->prepare($sql) or die($mysqli->error);
  11. //绑定参数
  12. $name="小李";
  13. $password="tsts";
  14. $email="sohu@sohu.cn";
  15. $age="";
  16. //参数绑定 赋值
  17. $mysqli_stmt->bind_param("sssi", $name,$password,$email,$age);
  18. //执行
  19. $result=$mysqli_stmt->execute();
  20. if(!$result){
  21. //echo $mysqli->error;
  22. die($mysqli_stmt->error);
  23. error_log($result);
  24. }
  25. $name="小王";
  26. $password="";
  27. $email="sohu2@sohu.cn";
  28. $age="";
  29. $mysqli_stmt->bind_param("sssi", $name,$password,$email,$age);
  30. //执行
  31. $result=$mysqli_stmt->execute();
  32.  
  33. $mysqli->close();
  34.  
  35. ?>

PHPmysqli的 预处理执行插入语句的更多相关文章

  1. C#中使用MySqlCommand执行插入语句后获取该数据主键id值的方法

    .net中要连接mysql数据库,需要引用MySql.Data.dll文件,这文件在mysql官网上有下载. 接着通过MySqlCommand执行插入语句后想要获取该数据主键id值的方法如下: lon ...

  2. mybatis使用@Insert @SelectKey 执行插入语句时获得主键自增长值(转)

    @Insert(" insert into table(c1,c2) " + " values (#{c1},#{c2}) ") @SelectKey(resu ...

  3. 执行插入语句,object val = cmd.ExecuteScalar() val = null

    在写接口的过程中遇到错误:空对象不能转换为值类型 因为我们使用的是petapoco,经过调试后发现是 object val = cmd.ExecuteScalar() 这一句造成的报错, val = ...

  4. 执行插入语句时直接返回插入信息的自增id,判断是否为空

    insert into userinfo(UserName,UserPass,RegTime,email)values('a','b',GETDATE(),'123@qq.com');select @ ...

  5. SQL*PLUS中批量执行SQL语句

    SQL*PLUS中批量执行SQL语句 今天由于工作的需要,要在CMD中批量执行大量的SQL语句,对于Oracle学习还处在入门阶段的我,只能硬着头皮到处去寻找资料(主要是网络资料,也包括自己的电子书) ...

  6. MyBatis的动态插入语句(经常报‘无效的列类型’)

    最近在工作中经常遇到一个情况:通过mybatis的标签执行插入语句,当表中字段比较多的时候,需要全部插入,而有时候的需求是只插入其中几个字段,但是会报错. 原来的语句,必须把所有字段都Set值. &l ...

  7. mysql中有条件的插入语句

    今天在参加笔试的过程中,看到一道题,大概意思就是说,当满足了条件就执行插入语句,当时就蒙了,之前从来都没有考虑过满足条件才插入的情况,所以一直都是这样写的 insert into table_name ...

  8. PL/SQL客户端中执行insert语句,插入中文乱码

    问题描述:在PL/SQL客户端中执行insert语句,插入中文乱码 解决方案: 1.执行脚本 select userenv('language') from dual;    结果为AMERICAN_ ...

  9. 使用预处理PreparedStatement执行Sql语句

    /** * 使用预处理的方式执行Sql * @param sql Sql语句 * @param obj 变量值数组 * @return 查询结果 * @throws SQLException */ p ...

随机推荐

  1. 快速用Markdown排版一篇文章

    前言 如果想先看下效果可以参见鄙人使用Markdown的排版的一篇文章--Markdown编辑效果. 本文会将每个设置在文内做示例. 本文不介绍完整的Markdown用法. 本文只简洁的介绍,使用Ma ...

  2. java 如何将 word,excel,ppt如何转pdf--jacob

    问题:java 如果将 word,excel,ppt如何转pdf 我个人的观点:windows server下用 jacob; linux server下 用openoffice.   PS:1.本文 ...

  3. 小白入门Docker基础篇

    docker是什么 百科上的解释是这样的: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...

  4. Jsonp 原理简述

    浏览器因为安全问题而有一个同源策略,不允许跨域请求数据.但是 js 脚本资源和图片资源还是被允许跨域请求的.在 web 开发中,遇到要跨域请求 json 数据时,可以用 jsonp 的方式来绕过浏览器 ...

  5. BZOJ 3239: Discrete Logging [BGSG]

    裸题 求\(ind_{n,a}b\),也就是\(a^x \equiv b \pmod n\) 注意这里开根不能直接下取整 这个题少了一些特判也可以过... #include <iostream& ...

  6. BZOJ 1758: [Wc2010]重建计划 [暂时放弃]

    今天晚上思维比较乱,以后再写写吧#include <iostream> #include <cstdio> #include <cstring> #include ...

  7. BZOJ 1185: [HNOI2007]最小矩形覆盖 [旋转卡壳]

    1185: [HNOI2007]最小矩形覆盖 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 1435  Solve ...

  8. 基于爬取百合网的数据,用matplotlib生成图表

    爬取百合网的数据链接:http://www.cnblogs.com/YuWeiXiF/p/8439552.html 总共爬了22779条数据.第一次接触matplotlib库,以下代码参考了matpl ...

  9. XML+JSON面试题都在这里

    XML+JSON常见面试题 什么是JSON和XML 什么是JSON和XML JSON:JavaScript Object Notation [JavaScript 对象表示法]. XML:extens ...

  10. python中的string

    也可以用一个变量来保存字符串,然后输出str = ‘bad’print str 如果你想表示一段带有英文单引号或者双引号的文字,那么表示这个字符串的引号就要与内容区别开. 内容带有单引号,就用双引号表 ...