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 ...
随机推荐
- duilib CEditUI 禁止输入中文字符,禁止复制粘贴
1.CEditUI 禁止使用中文输入法 在 CEditUI::DoEvent 函数中,添加代码: if(m_bOnlyEnglishChar && m_pWindow &&am ...
- 修改cmd窗口mysql的提示符:
mysql提示符: \D 完整的日期 \d 当前数据库 \h 服务器地址 \u 当前用户 登录数据库的时候设置提示符: mysql -uroot -proot --promp ...
- bzoj1087
题解: 状压dp 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; ; int n,m,cnt[ ...
- Python 数据库之间差异对比
参考资料: Python 集合(set) 此脚本用于两个数据库之间的表.列.栏位.索引的差异对比. cat oracle_diff.py #!/home/dba/.pyenv/versions/3 ...
- Maven中使用Jetty容器
1.在pom.xml中添加Jetty的插件 <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId ...
- 1.6 C++异常处理(try和catch)
参考: http://www.weixueyuan.net/view/6332.html 注意: throw 抛出异常,catch 捕获异常, try 尝试捕获异常. 在程序设计过程中,我们总是希 ...
- 关于send message 函数
Windows是一个消息驱动模式的系统,SendMessage 是应用程序和应用程序之间进行消息传递的主要手段之一.由于 SendMessage 函数的参数选项过于繁多,因此很有必要作一个汇总,分门别 ...
- 2019.1.5 China’s population
China’s population is expected to hit a peak of 1.44 billion in 2029, and start to experience negati ...
- 图片和span水平垂直居中
<style type="text/css"> .content{ width:20%; height:60px; border:1px solid red; text ...
- MySQLzip压缩文件格式安装教程
MySQL是一个小巧玲珑但功能强大的数据库,目前十分流行.但是官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的.很多人下了zip格式的解压发现没有setup.exe,面对一堆文件一头雾 ...