MySqli 中预处理类 stmt
非select 语句(没有结果集的)
1.建立连接数据库
$mysqli=new mysqli("localhost","root","","sqldb");
2.判断
if(mysqli_connect_error()){
echo "连接数据库失败".mysqli_connect_error();
exit;
}
3.SQL语句拼装
$sql="insert into shops(name,price,description) values(?,?,?,?)";
$sql="update shops set name=?,price=?,num=?,description=?; where id=?";
4.插入SQL 语句
$stmt=$mysqli->prepare($sql);//比较方便
5.给每一个符号的?传值(绑定参数)
$stmt->bind_param("sdisi",$name,$price,$num,$description,$id);
6.传值
$name="zhangsan";
$price=22.22;
$num=10;
$description="very good";
$id=10;
7.执行
$stmt->execute();
影响行数:$stmt->insert_id;
最后插入的ID:$stmt->offected_rows;
$mysqli=@new mysqli("localhost","root","","sqldb");
if(mysqli_connect_error()){
echo "连接数据库错误".$mysqli_connect_error();
}
/*拼装数据*/
$sql="insert into shop values (null,?,?,?)";
$sql="update shop set name=?,price=?,description=? where id=?";
/*插入数据*/
$stmt=$mysqli->prepare($sql);
/*绑定数据*/
$stmt->bind_param("sdsi", $name, $price, $description, $id);
/*赋值*/
$name="zhangsanasdfadfasdfasdf";
$price=2.3;
$description="very good";
$id=1;
/*执行*/
$stmt->execute();
select 语句(有结果集的)
1.连接数据库
$mysqli=new mysqli("localhost","root","","sqldb");
2.判断数据库
if(mysqli_connect_error()){
echo "Error:".mysqli_connect_error();
}
3.拼接数据库
$sql="select id,name,price,description where id=?";
4.插入数据库
$stmt=$myqli->prepare($sql);
5.绑定数据库
$stmt->bind_param(i,$id);
6.绑定结果集
$stmt->bind_result($id,$name,$price,$description);
7.赋值
$id=10;
8.执行
$stmt->execute();
9.取出结果集
$stmt->store_result();
10.while 查看结果
while($stmt->fetch()){
echo "$id---$name---$price--$description";
}
11.关闭结果集
$stmt->free_result();
12.关闭数据库
$stmt->close();
<?php
$mysqli= @new MySQLi("localhost","root","","sqldb");
if(mysqli_connect_error()){
echo "Error:".mysqli_connect_error();
}
/*拼装SQL*/
$sql="select id,name,price,description from shop where id<?";
/*插入*/
$stmt=$mysqli->prepare($sql);
var_dump($stmt);
/*绑定*/
$stmt->bind_param(i,$id);
/*绑定结果集*/
$stmt->bind_result($id,$name,$price,$description);
/*赋值*/
$id=10;
/*执行*/
$stmt->execute();
/*取出结果集*/
$stmt->store_result();
echo "<table border='1'>";
//字段信息、列信息
$result=$stmt->result_metadata();
echo "<tr>";
while($field=$result->fetch_field()){
echo "<th>{$field->name}</th>";
}
echo "</tr>";
/*fetch()查看结果集*/
/*移动数据库指针*/
//$stmt->data_seek(2);
while($stmt->fetch()){
echo "<tr>";
echo "<td>$id</td><td>$name</td><td>$price</td><td>$description</td>";
echo "</tr>";
}
echo "</table>";
/*关闭结果集*/
$stmt->free_result();
/*关闭数据库d*/
$stmt->close();
?>
MySqli 中预处理类 stmt的更多相关文章
- PHP mysqli方式连接类
分享一个PHP以mysqli方式连接类完整代码实例,有关mysqli用法实例. 一个在PHP中以mysqli方式连接数据库的一个数据库类实例,该数据库类是从一个PHP的CMS中整理出来的,可实现PHP ...
- Python中的类、对象、继承
类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...
- 基础知识(05) -- Java中的类
Java中的类 1.类的概念 2.类中的封装 3.对象的三大特征 4.对象状态 5.类与类之间的关系 ------------------------------------------------- ...
- Objective-C中的类目,延展,协议
Objective-C中的类目(Category),延展(Extension),协议(Protocol)这些名词看起来挺牛的,瞬间感觉OC好高大上.在其他OOP语言中就没见过这些名词,刚看到这三个名词 ...
- CSS中伪类及伪元素用法详解
CSS中伪类及伪元素用法详解 伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的 ...
- Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法
Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法 如下面所示,同时导入这两个,会提示其中一个与另一个产生冲突. 1i ...
- C#中timer类的用法
C#中timer类的用法 关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类 ...
- JAVA中的类和接口
1.类: 类是具有相同属性和方法的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分.在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属 ...
- java中Color类的简单总结
java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 publi ...
随机推荐
- vue 表格导出excel
首先要install两个依赖, 1 npm install -S file-saver xlsx 2 npm install -D script-loader 在项目src目录下新建一个文件夹ven ...
- Nutch相关视频教程3
参考: http://www.cnblogs.com/huligong1234/p/3515214.html
- sonarqube 代码检查
再好的程序员也会出bug,所以代码检查很有必要.今天就出一个简单的检查工具代替人工检查. 参考: http://www.cnblogs.com/qiaoyeye/p/5249786.html 环境及版 ...
- NSScanner
NSScanner NSScanner:该类主要实现对字符串扫描.并且该扫描必须从头到尾扫描(也可以跳到指定的地方进行扫描),开始扫描必须应用到函数,连续的数字之间可以用空格隔开,如:35 15.2 ...
- poshytip漂亮的表单提示插件
一款很实用的小插件,在表单的输入框会显示提示信息,你可能会用的它. 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti ...
- 玩转TypeScript(1) --定义简单的类
相对于JavaScript来说,TypeScript增强了强制类型,同时添加了一系列的面向对象的特性,包含:静态类型(Static typing).类(Classes).接口(Interfaces). ...
- Linux Framebuffer save as picture
/********************************************************************************* * Linux Framebuff ...
- [LeetCode&Python] Problem 461. Hamming Distance
The Hamming distance between two integers is the number of positions at which the corresponding bits ...
- 发布网站的时候发现360极速浏览器ie7内核不兼容样式的问题
引言: 在Web应用的开发过程中,发现若干页面在360的浏览器上显示不正常,而在其他的浏览器上,皆为正常状态,问题出在哪里呢? 问题的提出: Web页面在360的浏览器上,显示不正确. 但是在Fir ...
- 三值 bool? 进行与或运算后的结果
bool? 实际上是 Nullable<Boolean> 类型,可以当作三值的 bool 类型来使用.不过三值的布尔进行与或运算时的结果与二值有什么不同吗? 本文内容 重载条件逻辑运算符“ ...