PHP5 mysqli的prepare准备语句使用说明

时间:2023-11-22 12:50:29 

mysqli对prepare的支持对于大访问量的网站是很有好处的,它极大地降低了系统开销,而且保证了创建查询的稳定性和安全性。prepare准备语句分为绑定参数和绑定结果,下面将会一一介绍!
(1)绑定参数
看下面php代码:


<?php
//创建连接
$mysqli=new mysqli("localhost","root","","volunteer");
//检查连接是否被创建
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/*
* 创建一个准备查询语句:
* ?是个通配符,可以用在任何有文字的数据
* 相当于一个模板,也就是预备sql语句
*/
if ($stmt = $mysqli->prepare("insert into `vol_msg`(mid,content) values(?,?)")){
/*第一个参数是绑定类型,"s"是指一个字符串,也可以是"i",指的是int。也可以是"db",
* d代表双精度以及浮点类型,而b代表blob类型,第二个参数是变量
*/
$stmt->bind_param("is",$id,$content);
//给变量赋值
$id = "";
$content = "这是插入的内容";
//执行准备语句
$stmt->execute();
//显示插入的语句
echo "Row inserted".$stmt->affected_rows;
//下面还可以继续添加多条语句,不需要prepare预编译了
//关闭数据库的链接
$mysqli->close();
}
?>


以上php实例运行结果:
Row inserted:1
(2).绑定结果:绑定结果就是将你绑定的字段给php变量,以便必要时使用这些变量
请看下面的php代码:


<?php
//创建连接
$mysqli=new mysqli("localhost","root","","volunteer");
//设置mysqli编码
mysqli_query($mysqli,"SET NAMES utf8");
//检查连接是否被创建
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
//创建准备语句
if ($stmt = $mysqli->prepare("select mid,content from `vol_msg`")){
//执行查询
$stmt->execute();
//为准备语句绑定实际变量
$stmt->bind_result($id,$content);
//显示绑定结果的变量
while($stmt->fetch()){
echo "第".$id."条: ".$content."<br />";
}
//关闭数据库的链接
$mysqli->close();
}
?>

标签:mysqli,prepare,准备语句
0
投稿

猜你喜欢

  • Python基于socket实现TCP客户端和服务端

    2023-09-29 15:30:05
  • Python数据模型与Python对象模型的相关总结

    2021-05-15 02:21:43
  • 用ASP实现分级权限控制

    2008-10-09 13:02:00
  • Python实现八皇后问题示例代码

    2023-11-23 03:31:40
  • Python中shutil模块的学习笔记教程

    2022-12-22 20:42:05
  • python中如何实现径向基核函数

    2023-11-28 02:48:45
  • Python利用matplotlib绘制约数个数统计图示例

    2023-11-12 16:00:43
  • Django 报错:Broken pipe from ('127.0.0.1', 58924)的解决

    2021-03-27 21:12:09
  • Python如何实现自带HTTP文件传输服务

    2023-01-05 05:04:15
  • Python实现感知器模型、两层神经网络

    2021-11-14 07:34:19
  • python读写二进制文件的方法

    2023-04-30 15:28:41
  • 关于python的编码与解码decode()方法及zip()函数

    2022-04-04 15:15:54
  • 使用PyQt5设计GUI实现程序图形界面设计

    2021-09-26 03:22:02
  • 用Python实现简单的人脸识别功能步骤详解

    2022-05-15 15:52:00
  • Android+OpenCv4实现边缘检测及轮廓绘制出图像最大边缘

    2022-04-08 18:05:44
  • 一篇文章带你学习python的函数与类

    2023-10-15 05:04:18
  • 高效交换XML文档

    2008-01-03 14:16:00
  • Mysql5.7.11在windows10上的安装与配置(解压版)

    2024-01-13 18:07:49
  • Python函数学习笔记

    2022-10-29 03:51:07
  • JavaScript模板解析演示实例

    2009-10-19 23:16:00
  • asp之家 网络编程 m.aspxhome.com