非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. BZOJ1670 [Usaco2006 Oct]Building the Moat护城河的挖掘

    裸的凸包...(和旋转卡壳有什么关系吗...蒟蒻求教T T) 话说忘了怎么写了...(我以前都是先做上凸壳再做下凸壳的说) 于是看了下hzwer的写法,用了向量的点积,方便多了,于是果断学习(Orz) ...

  2. css 初始包含块

    continuous media ,paged media 关于continuous media[连续媒体]和paged media[分页媒体] 直白的讲,continuous和paged media ...

  3. bzoj1086

    题解: 树分块 每一次当个数大于B的时候分成一块 省会城市为当前子树根 然后最后剩下的节点和前一个分为一块 代码: #include<bits/stdc++.h> using namesp ...

  4. Mysql 存储过程-转载

    存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储 ...

  5. windows 环境下python 安装 pypcap 并用pyinstaller打包到exe,解决DLL 加载失败。

    安装 PYQT5 pypcap 环境: windows10_x64 python3.6.3 pycharm2017.2.4 备注: 需要安装 Visual C++ Build Tools 2015 可 ...

  6. c#版本与vs的对应关系

    版本 .NET Framework版本 Visual Studio版本 发布日期 特性 C# 1.0 .NET Framework 1.0 Visual Studio .NET 2002 2002.1 ...

  7. js方法参数问题

    大家都知道java是强类型语言,而js是弱类型语言,其实,它们之间的区别不止这一点,还有方法参数及调用问题,参看下例: js中:这里定义了一个query()方法 function query() { ...

  8. 攻防:文件上传漏洞的攻击与防御,转自H3C

    WebShell就是以asp.php.jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门.黑客在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器WEB目 ...

  9. kbmMW 5.06.20试用笔记

    1.kbmMWConfiguration自动备份配置文件的问题还没有修正. 下面是以前写过的内容,再一次在新闻组中提出这个问题: kbmMW提供一个强大的配置信息管理对象,前期译过这个对象的介绍,在使 ...

  10. webStrom 美化

    webStrom 激活: 注册时,在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址: http://idea.iteblog.com/ke ...