非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的更多相关文章

  1. PHP mysqli方式连接类

    分享一个PHP以mysqli方式连接类完整代码实例,有关mysqli用法实例. 一个在PHP中以mysqli方式连接数据库的一个数据库类实例,该数据库类是从一个PHP的CMS中整理出来的,可实现PHP ...

  2. Python中的类、对象、继承

    类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...

  3. 基础知识(05) -- Java中的类

    Java中的类 1.类的概念 2.类中的封装 3.对象的三大特征 4.对象状态 5.类与类之间的关系 ------------------------------------------------- ...

  4. Objective-C中的类目,延展,协议

    Objective-C中的类目(Category),延展(Extension),协议(Protocol)这些名词看起来挺牛的,瞬间感觉OC好高大上.在其他OOP语言中就没见过这些名词,刚看到这三个名词 ...

  5. CSS中伪类及伪元素用法详解

    CSS中伪类及伪元素用法详解   伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的 ...

  6. Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法

    Android中View类OnClickListener和DialogInterface类OnClickListener冲突解决办法 如下面所示,同时导入这两个,会提示其中一个与另一个产生冲突. 1i ...

  7. C#中timer类的用法

    C#中timer类的用法 关于C#中timer类  在C#里关于定时器类就有3个   1.定义在System.Windows.Forms里   2.定义在System.Threading.Timer类 ...

  8. JAVA中的类和接口

    1.类: 类是具有相同属性和方法的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分.在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属 ...

  9. java中Color类的简单总结

    java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 publi ...

随机推荐

  1. spring cloud学习(六)Spring Cloud Config

    Spring Cloud Config 参考个人项目 参考个人项目 : (希望大家能给个star~) https://github.com/FunriLy/springcloud-study/tree ...

  2. HMM模型和Viterbi算法

    https://www.cnblogs.com/Denise-hzf/p/6612212.html 一.隐含马尔可夫模型(Hidden Markov Model) 1.简介 隐含马尔可夫模型并不是俄罗 ...

  3. Vscode设置个人爱好

    Vscode设置个人爱好   插件列表 abusaidm.html-snippets-0.1.0 adamwalzer.string-converter-0.0.9 AESSoft.aessoft-c ...

  4. hadoop hive install (5)

    reference : http://dblab.xmu.edu.cn/blog/install-hive/ http://dblab.xmu.edu.cn/blog/hive-in-practice ...

  5. 尚硅谷JavaSEday18 String类练习题

    1.重新编写strim方法,去掉字符串两端的空格 package www.shangguigu.java.exer; import org.junit.Test; /* 练习一:重写Strim方法,输 ...

  6. OO第二次单元总结

    OO第二次单元总结 前言 第二单元的三次作业:系列电梯与多线程. 第五次作业 (1)设计策略 电梯的第一次作业是单部傻瓜电梯,采用FAFS调度策略,电梯按队列顺序依次处理请求,单次只处理一个请求.本次 ...

  7. Oracle 11g新特性 Interval Partition

    分区(Partition)一直是Oracle数据库引以为傲的一项技术,正是分区的存在让Oracle高效的处理海量数据成为可能,在Oracle 11g中,分区技术在易用性和可扩展性上再次得到了增强.在1 ...

  8. python爬虫常见面试题(二)

    前言 之所以在这里写下python爬虫常见面试题及解答,一是用作笔记,方便日后回忆:二是给自己一个和大家交流的机会,互相学习.进步,希望不正之处大家能给予指正:三是我也是互联网寒潮下岗的那批人之一,为 ...

  9. Oracle text组件安装

    1.目标:在数据库中,安装Oracle Text组件: 970473.1 MOS文档ID     2.组件相关视图:查询验证 #查询DB中的组件: #视图:USER_REGISTRY (注册) COM ...

  10. 设置ip地址、掩码、网关、DNS

    @echo offcolor f8mode con cols=40 lines=8echo.echo.echo      设置IP为:echo.set /p ip=              192. ...