非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. cas HttpServletRequestWrapperFilter

    HttpServletRequestWrapperFilter 作用其实很简单就是 在HttpServletRequest对象在包装一次,让其支持getUserPrincipal,getRemoteU ...

  2. jquery组件和插件写法

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  3. 重置delphi Printer对象

    http://www.efg2.com/Lab/Library/UseNet/1999/0714b.txt From: "Nick Ryan" <nick@avatardes ...

  4. TClientDataSet的 AddIndex

    unit Unit2; interface uses SysUtils, Classes, DB, DBClient; type TDataModule2 = class(TDataModule) C ...

  5. linux fdisk 添加硬盘,分区,挂载,永久挂载

    具体步骤: 1.SSH登陆服务器: 2.列出所有硬盘: 命令:ll /dev/disk/by-path 我这里还有个sda 3.查看磁盘分区情况: 命令 :fdisk -l 最上面两部分表示我有两个物 ...

  6. c++模板函数声明定义分离编译错误详解

    今天看到accelerated c++上有个简单的vector容器的实现Vec,就再vs2008上编译了下: ///// Vec.h #ifndef GUARD_VEC_H #define GUARD ...

  7. kbmMW CopyRawRecords 用法

    复制一个ClientQuery数据集到另外一个ClientQuery,我们应该怎么做?并注意什么呢? kbmMW为我们提供了好几个方法,有LoadFromDataSet,CopyRawRecords, ...

  8. HackPwn:TCL智能洗衣机破解细节分析

    上周结束的Hackpwn上,黑客们脑洞大开,破解了比亚迪汽车.小米手环.乐小宝.长虹电视.TCL洗衣机和九阳豆浆机等一系列最新的智能硬件,据黑客介绍,TCL是一家把家门“砌死”的企业,由于得到了将要被 ...

  9. AR.Drone 2.0四轴飞机体验:最好的玩具航拍器

    http://digi.tech.qq.com/a/20140513/007458.htm?pgv_ref=aio2012&ptlang=2052 AR.Drone 2.0四轴飞机体验:最好的 ...

  10. E - 追求

    经历了那晚的竹林深处相识后静竹对数学念念不忘,产生了好感!为了追求数学,她想到了一招,要想搞定女友,搞定闺中密友.于是,她秘密与数学的好友斐波那契见面了.学数学的真是不一样,斐波那契的出现前提也是需要 ...