<?php
/**
* 处理数据库的扩展库
*
* 1.执行多条查询语句
* 多语句查询: $mysqli->multi_query($sqls)
* 开始获取结果集: $mysqli->store_result()
* 判断是否还存在结果集:$mysqli->more_results()
* 指针移到到下一个结果集:$mysqli->next_result()
*
* 2.事物处理
* 目前只有INNODB和BDB两种存储引擎支持事物
* 默认是:myisam。
*
* 所以在建表的时候要指定innodB;在创建语句后加入type = 'INNODB'
* 而且默认自动提交(导致插入数据不能回滚的)
* 关闭自动提交:set autocomment = 0;
* 并要开启事物:START TRANSACTION;
* 回滚:rollback
*
* 3.设置字符集
* 在sql语句上
* $mysqli->query("set names gb2312");
* $mysqli->set_charset("utf8");
*
*/
//使用面向对象的方式:
$mysqli = new mysqli("localhost","root","root","hibernate");
if (mysqli_connect_errno()){
echo "连接失败:".mysqli_connect_error();
$mysqli = null;
exit();
}
//var_dump($mysqli);
//查看字符集
//echo $mysqli->character_set_name();
//没有结果集的insert update delete
$sqls = "insert into users values(27,'wodm a ','45');"
."update users set name = 'devil' where id >12;";
//有结果集的select
$sqls = "select * from users where id < 10;"
."select * from tb_company;";
if ($mysqli->multi_query($sqls)){
echo "执行成功".$mysqli->affected_rows.$mysqli->insert_id."<br>";
do{
$result = $mysqli->store_result();
while ($row = $result->fetch_assoc()){
foreach ($row as $cal){
echo $cal." ";
}
echo "<br>";
}
//指向第二个结果集
}while ($mysqli->more_results()?$mysqli->next_result():FALSE);
}else {
echo $mysqli->errno."--".$mysqli->error;
}
//创建表
$createsql = "CREATE TABLE admins(id int not null auto_increment,name varchar(50) not null default '',price double not null default '0.00',primary key (id)) type = 'INNODB'";
$mysqli->query($createsql);
$sql = "update users set name='sjdkfjslkfjs' where id < 5";
//设置自动提交为假
$mysqli->autocommit(0);
$error = true;
$result = $mysqli->query($sql);
if ($result) {
echo "更新成功";
}else{
$error = false;
}
if ($error){
echo "成功提交";
$mysqli->commit();
}else{
echo "失败回滚";
$mysqli->rollback();
}
//设置字符集(gb2312插入utf8查询,就会出现乱码了)
//与下个set names 一样的效果
//$mysqli->set_charset("utf8");
//$mysqli->query("set names gb2312");
//$inser = "insert into users values(30,'张三',23);";
//$mysqli->query($inser);
//$mysqli->commit();
//设置字符集
$mysqli->query("set names utf-8");
$sql = "select * from users where id =30;";
$result = $mysqli->query($sql);
//循环输出数据
while ($row = mysqli_fetch_row($result)){
foreach ($row as $cal){
echo $cal." ";
}
echo "<br>";
}
//释放结果集
//$result->close();
$mysqli->close();
?>
分享到:
相关推荐
MySQLi扩展库来袭—课程源代码 MySQLi扩展库来袭—课程源代码
这是细说php的电子版。不多。PHP的mysqli扩展
计算机后端-php视频教程096 php数据库编程-使用mysqli扩展库(布置练习).wmv
之前我们有介绍过如何在PHP5中使用mysqli的prepare操作数据库,使用mysqli更是支持多查询特性,请看下面这段php代码: <?php $mysqli = new mysqli(localhost,root,,123456); $mysqli->query(set names 'utf8');...
mysqli扩展库是MySQL扩展库的改进版本,在mysql扩展库的基础上提高了稳定性和效率,mysqli扩展库有两套东西,一套就是面向过程的mysqli另一套是面向对象的mysqli。操作方式大体和mysql扩展库大体一致,这次还是先...
从php5.0开始,不仅可以使用早期的mysql扩展函数,而且还可以使用新的扩展mysqli技术来实现与mysql数据库的信息交流。
mysqli扩展库 69 一.查询数据库中的表 69 二.释放资源的方式 69 三.增删该查类 69 四.预编译 70 mail 71 ZendFramework 73 快速体验 73 修改数据 74 增加数据 74 查询数据 74 memcached 76 telnet操作 ...
本文实例讲述了PHP实现mysqli批量执行多条语句的方法。分享给大家供大家参考,具体如下: 可以一次性的执行多个操作或取回多个结果集。 实例: <?php $mysqli = new mysqli("localhost", "root", "111111", ...
1、在PHP中 使用mysqli扩展库对mysql 的dql操作复制代码 代码如下:<?php header(“Content-type: text/html;charset=utf-8”); //mysqli操作mysql数据库(面向对象方式) //1、创建MySQLi对象 $mysqli =new ...
PHP-MySQLi-Database-Class, 一个使用 MySQLi 和预处理语句的PHP MySQL类的包装器 $v ) 和数组($k = > array ($v ,$v))中的结果。 $user = $db->map (\'login\')->ObjectBuilder()->getOne (\'users\', \'login
1、使用mysqli扩展库 预处理技术 mysqli stmt 向数据库添加3个用户 代码如下:<?php //mysqli扩展库 预处理技术 mysqli stmt 向数据库添加3个用户 //1、创建mysqli对象 $mysqli = new MySQLi(“localhost”,”...
phpMyAdmin错误 缺少 mysqli 扩展。请检查 PHP 配置 的解决方案 phpMyAdmin 缺少 mysqli 扩展。请检查 PHP 配置 的解决方案: 缺少 mysqli 扩展。请检查 PHP 配置。 打开你的php.ini->一般在C:WINDOWS目录下。 找到 ...
mysqli相对于mysql有很多优势,建议大家使用,如果没有了解,可以查看mysql的基础教程: mysqli连接数据库 和 mysqli预处理prepare使用 。不仅如此,mysqli更是支持多查询特性,看下面这段php代码: 代码如下: <?...
php_mysqli.zip php_mysqli.zip php_mysqli.zip
介绍php封装的mysqli类,结合实例形式分析了php针对mysqli操作类的定义与使用技巧,掌握满足单例模式的必要条件 (1)私有的构造方法-为了防止在类外使用new关键字实例化对象 (2)私有的成员属性-为了防止在类外引入这个...
本文实例讲述了php结合mysql与mysqli扩展处理事务的方法。分享给大家供大家参考,具体如下: 以下只是展示如何应用,具体用的时候要加上判断,如果都执行成功则提交,否则回滚 看前先分清mysqli与mysql扩展是不一样...
php高级版本都支持mysqli扩展类,但是默认情况下,mysqli扩展类是没有开启的,本文章向大家介绍php如何判断mysqli扩展类是否开启,需要的朋友可以参考一下
主要介绍了php mysqli查询语句返回值类型,结合实例形式分析了php+mysqli常用的查询、插入语句的使用与返回值类型,需要的朋友可以参考下
教程名称:兄弟连MySQL数据库视频教程(18集)课程目录:【】1.MySQL数据库管理系统概述【】10.PHP设计完美分页类【】11.PHP的mysqli扩展库操作MySQL数据库【】12.使用PHP中mysqli扩展处理结果集【】13.使用PHP的...