mysql中启用事务的数据表类型建议使用InnoDB

利用PHP代码调用mysql中的事务过程:

1>关闭自动提交过程

$mysqli->autocommit(0);

2>执行sql语句

3> 执行成功时提交事务

$mysqli->commit()

否则,回滚事务              $mysqli->rollback();

4>处理完成后开启自动提交模式

$mysqli->autocommit(1);

MVC的设计模式

和PDO相关的一些参数和方法的使用:

PDO支持的另一种的占位符绑定的方法:

例子:

$query="Insert into contactInfo (name,address,phone) values (:name,:address,:phone)";

$stmt=$dbh->prepare($query);

$name="zhangsan";

$adress="xian";

$phone=1231321;

$stmt->bindParam(':name',$name);

$stmt->bindParam(':address',$adress);

$stmt->bindParam(':phone',$phone);

PDO中对大数据的存取操作实例:

将数据插入数据库

$dbh=new PDO("mysql:dbname=testdb;host=localhost","root","123456");

$stmt=$dbh->prepare("insert into images(contenttype,imagdata) values (?,?)");

$fp=fopen($_FILES["file"]["tmp_name"],"rb");

$stmt->bindParam(1,$_FILES['file']['type']);

$stmt->bindParam(2,$fp,PDO_PARAM_LOB);

$stmt->execute()

从数据库取图片文件:

$dbh=new PDO("mysql:dbname=testdb;host=localhost","root","123456");

$stmt=$dbh->prepare("select contenttype, imagedata from images where id=?");

$stmt->execute(array($_GET["id"]));

list($type,$lob)=$stmt->fetch();

header("content-Type:$type");

fpssthru($lob);    //将给定的文件指针从当前的位置读取到 EOF 并把结果写到输出缓冲区。

学习PHP时的一些总结(五)的更多相关文章

  1. 上四条只是我目前总结菜鸟们在学习FPGA时所最容易跑偏的地

    长期以来很多新入群的菜鸟们总 是在重复的问一些非常简单但是又让新手困惑不解的问题.作为管理员经常要给这些菜鸟们普及基础知识,但是非常不幸的是很多菜鸟怀着一种浮躁的心态来学习 FPGA,总是急于求成. ...

  2. 浅谈学习C++时用到的【封装继承多态】三个概念

    封装继承多态这三个概念不是C++特有的,而是所有OOP具有的特性. 由于C++语言支持这三个特性,所以学习C++时不可避免的要理解这些概念. 而在大部分C++教材中这些概念是作为铺垫,接下来就花大部分 ...

  3. 在学习泛型时遇到的困惑经常与func<T,U>混淆

    在学习泛型时遇到的困惑经常与func<T,U>混淆,总认为最后一个值是返回类型.现在区分一下,原来问题出在泛型委托上. C#委托的介绍(delegate.Action.Func.predi ...

  4. 学习servlet时出现的一些问题

    此篇用来记录学习servlet时遇到的一些问题,谨防以后再犯. 问题1.导入的web项目,servlet中导入的包名报错. (1)缺少相关包,推荐一个网站下载jar包很方便http://mvnrepo ...

  5. JVM学习-运行时数据区域

    目录 前言 运行时数据区 程序计数器 Java虚拟机栈 局部变量表 基础数据类型 对象引用 returnAddress 操作数栈 动态链接 方法返回地址 Java堆 方法区 类型信息 字段描述符 方法 ...

  6. 【学习总结】Git学习-参考廖雪峰老师教程五-远程仓库

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  7. OpenGL学习进程(7)第五课:点、边和图形(二)边

    本节是OpenGL学习的第五个课时,下面介绍OpenGL边的相关知识: (1)边的概念: 数学上的直线没有宽度,但OpenGL的直线则是有宽度的.同时,OpenGL的直线必须是有限长度,而不是像数学概 ...

  8. 学习WebFlux时常见的问题

    前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾一下上篇我对WebFlux的入门,如果没读过 ...

  9. 新手学习Python时常见的错误

    最近学习Python,现在把一些常见的错误总结如下: 1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 "Synta ...

随机推荐

  1. 查看各个release版本 golang的改动

    https://golang.org/doc/go1.1 https://golang.org/doc/go1.2 https://golang.org/doc/go1.3 https://golan ...

  2. Win10 查看IE的临时目录

    C:\Users\YOUR_NAME\AppData\Local\Microsoft\Windows\INetCache

  3. HDU 3567 Eight II BFS预处理

    题意:就是八数码问题,给你开始的串和结束的串,问你从开始到结束的最短且最小的变换序列是什么 分析:我们可以预处理打表,这里的这个题可以和HDU1430魔板那个题采取一样的做法 预处理打表,因为八数码问 ...

  4. 发布代码小助手V2.1发布了——Code2HTML工具

    设计起源: 新浪博客似乎没有插入代码的功能,所以不得不用打空格的方法格式化代码.而且没法显示行号. 描述: 发布代码小助手用python和Tkinter开发,可以在任何常见操作系统上运行.主要用于在不 ...

  5. 50道经典的JAVA编程题(26-30)

    50道经典的JAVA编程题(26-30),这么晚了,早点睡了要,明早8点考java祝我好运吧!!!晚安~ [程序26]Ex26.java(跳过了,好没意思的题啊)题目:请输入星期几的第一个字母来判断一 ...

  6. Spark常用RDD操作总结

    aggregate 函数原型:aggregate(zeroValue, seqOp, combOp) seqOp相当于Map combOp相当于Reduce zeroValue是seqOp每一个par ...

  7. leetcode@ [318] Maximum Product of Word Lengths (Bit Manipulations)

    https://leetcode.com/problems/maximum-product-of-word-lengths/ Given a string array words, find the ...

  8. 【C语言】-条件语句-switch语句

    switch语句: 用于直接处理不同情况下的多路问题. switch语句又可称为开关语句,其执行流程和多分支if语句类似. switch (表达式) { case 常量表达式1:语句组1;break; ...

  9. ios开发 json数据文件的存取

    将Json存进本地文件夹     NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomai ...

  10. [置顶] HTML语义和前端架构

    关于语义学 语义学是研究符号和意义之间的关系以及它们表示的内容.在语言学中,则主要是研究符号(例如单词,短语或者语音)在语言中所表达的意义.而在前端开发时,语义学则更多的关注HTML元素,属性以及它的 ...