问题的提出?

现在需要向mysql数据库添加100个用户,请问如何实现?

思路:

  1. 使用for循环100次,向数据库中添加100个用户.
  2. 使用批量添加

    $sql1=”insert xxx”;

    $ssql.=”insert xxx ”;

    。。。

使用$msyqli->mutil_query($sql1);

  3.方案使用预编译技术,该方案还可以防止sql注入攻击.

  1. <?php
  2.  
  3. //预编译演示
  4. //需求: 请使用预处理的方式,向数据库添加三个用户
  5. //1.创建mysqli对象
  6. $mysqli=new MySQLi("localhost","root","hsp123","test");
  7.  
  8. //2.创建预编译对象
  9. $sql="insert into user1 (name,password,email,age) values(?,?,?,?)";
  10. $mysqli_stmt=$mysqli->prepare($sql) or die($mysqli->error);//prepare($sql)预处理函数
  11. //绑定参数
  12. $name="小倩";
  13. $password="xiaoqian";
  14. $email="aa@sohu.com";
  15. $age="";
  16. //参数绑定->给?赋值,这里类型和顺序都要对应.
  17. //
  18. $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age);
  19. //执行
  20. $b=$mysqli_stmt->execute();
  21.  
  22. //继续添加
  23. $name="老妖";
  24. $password="laoyao";
  25. $email="laoyao@sohu.com";
  26. $age="";
  27.  
  28. $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age);
  29.  
  30. //执行
  31. $b=$mysqli_stmt->execute() ;
  32.  
  33. //继续添加
  34. $name="菜层";
  35. $password="aaa";
  36. $email="aa@sohu.com";
  37. $age="";
  38. $mysqli_stmt->bind_param("sssi",$name,$password,$email,$age);
  39.  
  40. //执行
  41. $b=$mysqli_stmt->execute();
  42.  
  43. if(!$b){
  44. die("操作失败".$mysqli_stmt->error);
  45. }else{
  46. echo "操作ok";
  47. }
  48. //释放
  49. $mysqli->close();
  50.  
  51. ?>

现在我们看看mysqli的一些其他常用函数

案例: 编写一函数,接收一个表名,然后把表头和表数据,显示页面

  1. <?php
  2. function showTable($table_name){
  3. $mysqli=new MySQLi("localhost","root","hsp123","test");
  4. if(mysqli_connect_error()){
  5. die(mysqli_connect_error());
  6. }
  7. //$sql="select * from $table_name";
  8. $sql="desc user1";
  9. $res=$mysqli->query($sql);
  10. //如何获取返回总行数和列数
  11. echo "共有 行".$res->num_rows." -列=".$res->field_count;
  12. echo "<table border='1'><tr>";
  13. //如何取出表头,从$res取出
  14. while($field=$res->fetch_field()){
  15. echo "<th>{$field->name}</th>";
  16. }
  17. echo "</tr>";
  18. //循环取出数据
  19. while($row=$res->fetch_row()){
  20. echo "<tr>";
  21. foreach($row as $val){
  22. echo "<td>$val</td>";
  23. }
  24. echo "</tr>";
  25. }
  26. echo "</table>";
  27. //关闭资源
  28. $res->free();
  29. $mysqli->close();
  30. }
  31.  
  32. showTable("user1");
  33. ?>

mysqli扩展库的 预处理技术 mysqli stmt的更多相关文章

  1. mysqli扩展库的预处理技术 mysqli stmt

    //预编译演示 //1,创建mysqli对象 $mysqli=new mysqli("localhost","root",""," ...

  2. mysqli 扩展库的预处理技术(mysqli_stmt)

    提出问题 现在需要向mysql数据库中添加100个用户,请问如何实现? 方法一:for循环100次 方法二:使用批量添加 $sqls="insert xxx"; $sqls.=&q ...

  3. php mysqli扩展库之预处理操作

    分享下php使用mysqli扩展库进行预处理操作的二个例子,有意研究mysqli用法的朋友,可以参考学习下,一定会有所帮助的. 例1.使用mysqli扩展库的预处理技术 mysqli stmt 向数据 ...

  4. mysqli扩展库的预处理

    预处理的特点:1.效率高,执行速度快 2.安全性高,可以防止sql注入 $mysqli  中的函数 $stmt=$mysqli->prepare($sql);             预备一条s ...

  5. 使用php的mysqli扩展库操作mysql数据库

    简单介绍mysqli: 1.mysqli(mysql improve mysql扩展库的增强版) mysql扩展库和mysqli扩展库的区别 1.mysqli的稳定性  安全性 和 执行效率有所提高 ...

  6. PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句

    对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本.我们之前也已经学习过了 PDO 中关于事务和预处理语句相关的内容.所以在这里,我们就不再多讲理论方面的 ...

  7. PHP使用mysqli扩展库实现增删改查(面向对象版)

    mysqli扩展库是mysql扩展库的改进版本,在mysql扩展库的基础上提高了稳定性和效率,mysqli扩展库有两套东西,一套就是面向过程的mysqli另一套是面向对象的mysqli.操作方式大体和 ...

  8. mysqli扩展库操作mysql数据库

    配置环境 配置php.ini文件让php支持mysqli扩展库 extension=php_mysqli.dll 建库建表 详见博客 “mysql扩展库操作mysql数据库” 查询数据库 <?p ...

  9. 【小结】有关mysql扩展库和mysqli扩展库的crud操作封装

    现阶段php如果要操作mysql数据库 php给我们提供了3套库 1.mysql扩展库   面向过程操作 2.mysqli扩展库  面向对象操作和面向过程操作并存  安全性和效率高于mysql扩展库 ...

随机推荐

  1. LInux系统及其文件系统

    Linux系统:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协 ...

  2. go pprof

    import _ "net/http/pprof" func main() { go func() { http.ListenAndServe("localhost:60 ...

  3. Spring:启动项目时加载数据库数据(总结)

    在项目中需要启动程序时,要将数据库的用户信息表加载到内存中,找到一下几种方式. 1.实现ApplicationListener接口,重写onApplicationEvent方法,可以在项目启动的时候执 ...

  4. 修改ecshop模板体会

    在上一篇中给大家带来了ecshop的总体的框架.从总体上看ecshop,相信大家的思路应该很清楚.作为一个对开源项目修改者你来说,能对ecshop有个初步的了解就行了,下面我会给大家带来我在修改ecs ...

  5. 深入浅出畅谈Zigbee

    ZigBee采用802.15.4标准作为其对等通信的基础.该标准由ZigBee联盟(ZigBee Alliance)开发并管理.ZigBee Alliance是一家投资于该标准并在无线领域进行推广的联 ...

  6. 折腾Python中的Tkinter

    折腾Python中的Tkinter 从oschina看到了关于Python的Tkinter简介: Tk图形用户界面 Tkinter 又从Python官网文档: Tkinter — Python int ...

  7. gem update --system 302 错误 解决方案(转)

    具体过程如下: 1.InstantRails-2.0安装后,在配置环境变量path中配置ruby/bin目录(如果系统中有多个RUBY,执行命令行的时候系统认的就是path中的) 2.进入DOS命令行 ...

  8. JIRA官方:JIRA报表与分析

    访问重要的问题 JIRA系统内置的过滤器可以使你快速访问最重要的问题.通过保存和收藏自定义的过滤器,你可以随时了解项目和团队的优先级. 保持团队同步 创建一个过滤器,可以保存你的任何搜索条件.通过分享 ...

  9. SQL中如何使用UPDATE语句进行联表更新(转)

    在本例中: 我们要用表member中的name,age字段数据去更新user中的同字段名的数据,条件是当user 中的id字段值与member中的id字段值相等时进行更新. SQL Server语法: ...

  10. 为下拉式菜单(DropDownList)添加第一个选项

    很多方法可以为为下拉式菜单(DropDownList)添加第一个选项,下面是Insus.NET小结了几个方法,仅供参考: Html code: <body>    <form id= ...