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 并把结果写到输出缓冲区。