WEB开发笔记 www.chhua.com 每日练习 Mysqli预处理语句的写法

至于为什么要使用MYSQLI的预处理语句,我不想再多过多的解释,请参考这里(http://www.chhua.com/web-note1623)。

今天之所以,要写这么一个代码范例,主要也是在WEB开发群(63417830)里曾有一位同学问过我,关于预处理语句的使用,当时我比较忙,也没有来得及回答,今天写的这段代码,希望他能看到。

Mysqli预处理语句插入代码演示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
<?php
 
$mysqli=new mysqli("localhost","root","","test");
$mysqli->query("SET NAMES 'GBK'");//设置为中文编码
 
//$stmt=$mysqli->stmt_init();//返回的就是一个预处理类对象
 
//准备一条语句
//$sql="INSERT INTO `test` ('name','age','dpc') VALUES(?,?,?)";//准备一条语句
//$stmt->prepare($sql);
 
//其实 MYSQLI 本身就有prepare()方法,所以,以上的部分可以改为:
 
//准备一条语句
$sql="INSERT INTO `test`(`name`,`age`,`dpc`) VALUES(?,?,?)";//准备一条语句
 
$stmt=$mysqli->prepare($sql);//直接返回了 stmt对象
 
//按占位符绑定参数
$stmt->bind_param("sis",$name,$age,$dpc);// “sis”指的是参数的数据类型 s:字符串,i:整型,d:双精度,b:大二进制
 
//重复插入数据
$name="陈华1";//填写参数
$age="25";//填写参数
$dpc="WEB开发笔记撰写者,网址是www.chhua.com";//填写参数
$stmt->execute();//执行
 
$name="陈华2";//填写参数
$age="25";//填写参数
$dpc="WEB开发笔记撰写者,网址是www.chhua.com";//填写参数
$stmt->execute();//执行
 
$name="陈华3";//填写参数
$age="25";//填写参数
$dpc="WEB开发笔记撰写者,网址是www.chhua.com";//填写参数
$stmt->execute();//执行
 
$name="陈华4";//填写参数
$age="25";//填写参数
$dpc="WEB开发笔记撰写者,网址是www.chhua.com";//填写参数
$stmt->execute();//执行
 
echo "最后插入的ID:".$stmt->insert_id."<br>";
echo "最后一条语句影响了行数:".$stmt->affected_rows;
$stmt->close();//关闭预处理对象
?>

Mysqli预处理语句查询代码演示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<?php
 
$mysqli=new mysqli("localhost","root","","test");
$mysqli->query("SET NAMES 'GBK'");//设置为中文编码
 
//准备一条语句
$sql="SELECT * FROM `test` WHERE `id`>?";//准备一条语句
 
$stmt=$mysqli->prepare($sql);//直接返回了 stmt对象
 
//按占位符绑定参数
$stmt->bind_param("i",$id);// “i”指的是参数的数据类型 s:字符串,i:整型,d:双精度,b:大二进制
$id=5;
$stmt->execute();//执行
$stmt->bind_result($id,$name,$age,$dpc);//绑定结果注意,必须和查询语句中所查询的段名称相对应
$stmt->fetch();//这个方法是一条一条的获取结果集信息
while ($stmt->fetch()){
	echo $name."----".$age."----".$dpc."<Br>";
}
$stmt->close();//关闭预处理对象
?>

好了,以上就是预处理的基本用法,如果还想了解更多关于MYSQLI扩展,还需要你去查看手册。

自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

本文链接地址: Mysqli预处理语句的写法范例(代码演示) http://www.chhua.com/web-note1626

相关笔记

更多