php mysqli prepare使用实例介绍

时间:2016-07-16
php mysqli prepare用于创建一个准备查询语句,prepare准备语句分为绑定参数和绑定结果,本文章向大家介绍mysqli prepare准备查询语句的使用方法和使用实例,需要的朋友可以参考一下。

首先大家必须了解mysqli扩展类中为什么要使用prepare准备语句?

这是因为prepare可以解决大访问量的网站给数据库服务器所带来的负载和开销,使用prepare准备语句可以确保创建查询的稳定性和安全性。

下面向大家介绍prepare准备语句的使用实例:

prepare绑定参数

<?php
/*   http://www.manongjc.com   */
//创建mysqli类并连接数据库服务器,参数依次为:服务器地址、登录名、登录密码、需要操作的数据库名称
$mysqli=new mysqli("127.0.0.1","root","123456","mydb");

//mysqli_connect_errno()判断是否连接上数据库服务器
if (mysqli_connect_errno()) {
	echo "连接失败: 错误代码:".mysqli_connect_error();
	exit();
}
/*
 * $mysqli->prepare创建一个准备查询语句,这里是一个SQL插入语句
 * ?是个通配符,可以用在任何有文字的数据
 * 相当于一个模板,也就是预备sql语句
 */
if ($stmt = $mysqli->prepare("insert into `mytable`(id,name) values(?,?)")){


	/*bind_param()绑定参数。第一个参数是绑定类型,"s"是表示字符串类型,"i"表示int类型。
      "is"$id为int类型,$name为字符串类型
	 */
	$stmt->bind_param("is",$id,$name);

	//给变量$id和$name赋值
    /*   http://www.manongjc.com/article/1194.html   */
	$id = "";
	$name= "manongjc";

	//执行准备语句
	$stmt->execute();

	//显示插入的语句
	echo "影响的函数:".$stmt->affected_rows;

	//关闭数据库服务器的链接
	$mysqli->close();	
}
?>

prepare绑定结果

<?php
/*   http://www.manongjc.com   */
//创建mysqli类并连接数据库服务器,参数依次为:服务器地址、登录名、登录密码、需要操作的数据库名称
$mysqli=new mysqli("localhost","root","123456","mydb");

//mysqli_connect_errno()判断是否连接上数据库服务器
if (mysqli_connect_errno()) {
	printf("Connect failed: %s\n", mysqli_connect_error());
	exit();
}

//创建准备语句
if ($stmt = $mysqli->prepare("select id,name from `mytable`")){	
	//execute执行查询
	$stmt->execute();

	//bind_result为准备语句绑定实际变量
	$stmt->bind_result($id,$name);

	//fetch显示绑定结果的变量
	while($stmt->fetch()){
		echo $id."--".$name."<br />";
	}

	//关闭数据库的链接
	$mysqli->close();	
}
?>

绑定结果就是将你绑定的字段给php变量,以便必要时使用这些变量.