MySQLi面向过程实践---预处理

MySQLi预处理涉及到以下几个函数:

mysqli_stmt mysqli_prepare ( mysqli $link , string $query )

bool mysqli_stmt_bind_param ( mysqli_stmt $stmt , string $types , mixed &$var1 [, mixed &$... ] )

bool mysqli_stmt_execute ( mysqli_stmt $stmt )

bool mysqli_stmt_close ( mysqli_stmt $stmt )

mixed mysqli_query ( mysqli $link , string $query)

bool mysqli_set_charset ( mysqli $link , string $charset )

具体的示例代码如下:

<?php
	$conn=mysqli_connect("localhost","root","root","test");

	//设置字符集
	mysqli_set_charset($conn,"utf8");

	//预处理,注意返回的类型是mysqli_stmt
	$stmt=mysqli_prepare($conn,"insert into aaa values (?,?)");

	// 绑定参数,第二个参数,请看下文注解
	// 注意,在$id,$name等变量的位置,不能出现常亮
	// mysqli_stmt_bind_param($stmt,"is",5,‘aaaaa‘);写法是错误的
	mysqli_stmt_bind_param($stmt,"is",$id,$name);

	// 参数赋值
	$id="99";$name="xxxxxx";

	//执行预处理
	mysqli_stmt_execute($stmt);

	//关闭预处理,
	//注意关闭的不是数据库连接,而是“预处理”
	mysqli_stmt_close($stmt);

	//关闭数据库连接
	mysqli_close($conn);
 ?>

这里注意绑定参数的时候,

bool mysqli_stmt_bind_param ( mysqli_stmt $stmt , string $types , mixed &$var1 [, mixed &$... ] )

第二个参数是类型(type),类型有4个类型,分别是:

  i(整型integer)、

  d(双精度浮点数double)、

  s(字符串string)、

  b(二进制大数据块blob)

每一个类型,即每个字母(i/d/s/b)对应一个参数,每个参数的位置所对应的类型要正确,顺序别颠倒

时间: 2024-11-09 03:49:23

MySQLi面向过程实践---预处理的相关文章

MySQLi面向过程实践---事务处理

数据库的事务处理参见另一篇博客,用PDO实现,和MySQLi操作几乎没有差别,地址是http://www.cnblogs.com/-beyond/p/7551177.html 注意要进行事务处理的表格的存储引擎选择Innodb,而非MyISAM 事务处理需要用到以下函数 bool mysqli_begin_transaction ( mysqli $link [, int $flags [, string $name ]] ) bool mysqli_commit ( mysqli $link

PHP中用mysqli面向过程打开连接关闭mysql数据库

代码如下: 1 <meta http-equiv="content-type" content="text/html" charset="utf-8"/> 2 <h1>用mysqli面向过程方法连接数据库!-姚远的博客</h1> 3 <form method="POST" action="<?php echo iconv("GB2312","

mysqli面向过程练手

1 代码: 2 //1.得到mysqli连接 3 header("Content-type: text/html;charset=utf-8"); 4 $mysqli=mysqli_connect("localhost","root","root","test"); 5 if(!$mysqli){ 6 die("连接失败".mysqli_connnect_error($mysqli));

Mysqli面向过程连接

Myslqi扩展 连接数据库模板 <?php /* Connect to a MySQL server  连接数据库服务器 */ $link = mysqli_connect( 'localhost',  /* The host to connect to 连接MySQL地址 */ 'jian',      /* The user to connect as 连接MySQL用户名 */ '123456',  /* The password to use 连接MySQL密码 */ 'jian');

MySQLi面向对象实践---预处理

面向对象的预处理和面向过程的预处理一样,只是转换一种表现形式而已,可以参照一下面向过程的方法http://www.cnblogs.com/-beyond/p/7577155.html 面向对象的预处理涉及以下几个函数: mysqli_stmt mysqli::prepare ( string $query ) bool mysqli_stmt::bind_param ( string $types , mixed &$var1 [, mixed &$... ] ) bool mysqli_

PHPmysqli扩展整理,包括面向过程和面向对象的比较\事务控制\批量执行\预处理

相关文章:PHP的mysql扩展整理,操作数据库的实现过程分析 介绍 mysqli是PHP程序与mysql数据库进行数据交互的桥梁,它支持面向过程和面向对象两种方式 面向过程方式 现在面向对象编程已经成为了主流,mysqli面向过程化的编程方式可能已经没有太多实用价值,但是通过面向对象的和面向过程两种方式实现同一段代码,对体会对象和过程两种编程思想还是很有意义,个人觉得这个比较十分有趣! 流程图: 实例: <?php header("content-type:text/html;chars

mysqli 面向对象连接和面向过程连接

mysqli 面向对象连接 $host = 'localhost'; $user = 'root'; $password = 'root'; // 创建连接 $conn = @new mysqli($host, $user, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); }else{ echo "连接成功"; } mysqli 面

【二十】mysqli基于面向过程与面向对象的编程

面向过程的方式 musqli扩展库操作mysql数据库步骤: 1.获取连接并选择数据库 //语法 mysqli_connect(host,username,password,dbname,port,socket); $conn=mysqli_connect("127.0.0.1",'root','','user'); if (!$conn) { die("链接失败"); } 2.设置操作编码 // 语法:mysqli_set_charset(connection,c

php连接数据库的两种方式- 面向过程 面向对象

一.面向对象1. 链接数据库 $conn = @new mysqli("127.0.0.1","root","","mydb"); if($conn->connect_errno){ //返回链接错误号 // 返回链接错误信息 die("数据库链接失败:".$conn->connect_error); } 2. 选择数据库 $conn->select_db("mydb"