mysqli

mysqli 连接是永久连接,而mysql是非永久连接。什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以很大程度的减轻服务器端压力

 

mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。

应用比较多的地方是 mysqli的事务

 

<?php

$mysqli = new mysqli('127.0.0.1','root','','ssdb');

if($mysqli->connect_errno){
	echo "Failed to connnect to MySql:" . $mysqli->connect_error;
}

$mysqli->query("set names utf8");

//默认事务提交auto-commit 是打开的,可直接提交sql语句  

$s1 = $mysqli->query("INSERT INTO art_classification (type_id,article_type) values (null,'互联网')");

事务操作

<?php
$mysqli=new mysqli("localhost","root","123456","test003");
if($mysqli->connect_error){
    die ("LINK FAILED".$mysqli->connect_error);
}
$mysqli->query("set names utf8");
//关闭自动提交;
$mysqli->autocommit(false);
$sql01="update account set balance=balance+4 where id=1;";
$sql02="update account set balance=balance-4 where id=2;";
$b1=$mysqli->query($sql01) or die($mysqli->error);
$b2=$mysqli->query($sql02) or die($mysqli->error);
if(!$b1||!$b2){
    echo "Failed".$mysqli->error;
    //回滚;
    $mysqli->rollback();

}
else {
    echo "success";
    //提交;
    $mysqli->commit();
}
$mysqli->close();

二、查询结果集

<?php
require '../data/conn.php';
	$sql = 'SELECT * FROM zy_category';
	$resulet = $mysqli->query($sql);
	var_dump($resulet);
	echo "<br>=====<br>";
	// $row = $resulet->fetch_all();
	$out = [];
	while (true) {
		$row = $resulet->fetch_assoc();
		if ($row == null) break;
		$out[] = $row;
	}

	var_dump($out);

?>

结果

object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(2) ["lengths"]=> NULL ["num_rows"]=> int(5) ["type"]=> int(0) } 
==========================================
array(5) { [0]=> array(2) { ["c_id"]=> string(1) "1" ["article_type"]=> string(2) "it" } [1]=> array(2) { ["c_id"]=> string(1) "2" ["article_type"]=> string(9) "互联网" } [2]=> array(2) { ["c_id"]=> string(1) "3" ["article_type"]=> string(2) "H5" } [3]=> array(2) { ["c_id"]=> string(1) "4" ["article_type"]=> string(3) "CSS" } [4]=> array(2) { ["c_id"]=> string(1) "5" ["article_type"]=> string(6) "创业" } }

参考php手册 :http://php.net/manual/zh/mysqli-result.fetch-assoc.php

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值