PHP的mysqli扩展

mysqli是一种面向对象的技术

使用 mysqli 类

mysqli 类对象主要控制PHP和MySQL服务器之间的连接、选择数据库、发送SQL语句,以及设置字符串等

1.连接MySQL服务器

方法一:

$mysqli = new mysqli("localhost","root","1234567","bookstore");//连接mysql 数据库

可通过mysqli对象的select_db()方法为改变当前的连接改变它的默认数据库

方法二:

$mysqli = new mysqli();

$mysqli->connect("localhost","root","1234567");

$mysqli->select_db("bookstore");//选择特定的数据库

方法三:

<?php

$mysqli = mysqli_init();//创建一个连接对象

//设置连接选项

$mysqli->options();

$mysqli->real_connect("localhost","root","1234567","bookstore");

?>

处理连接错误报告

mysqli_connect_errno();//函数测试在建立连接的过程中是否发生错误

mysqli_connect_error();//函数返回相关出错消息

2.关闭与MySQL服务器的连接

$mysqli->close();//

3.执行SQL语句

//常用方法是query();成功返回true

mysqli对象的affected_rows属性获取有多少条记录发生变化

insert_id();返回自动生成的编号

使用 mysqlI_result 类

类对象包含select查询的结果,和获取结果集中数据的成员方法、成员属性

该类对象,默认是通过mysqli对象中的query()方法执行select语句返回的,并把所有的结果数据从MySQL服务器取回到客户端,保存在该对象中

创建结果集对象

方法一:

调用query();方法

例:

$result = $mysqli->query("sql语句");//将数据返回到客户端

$result = $mysqli->query("sql语句",MYSQLI_USE_RESULT);//留在MySQL服务器上

方法二:

$mysqli->real_query("sql语句");//无法确定返回结果集的类型

$result = $mysqli->store_result();//获取一个缓冲结果集

使用$result->close();方法回收结果集占用的内存

结果集对象提供 fetch_row()  fetch_assoc()  fetch_object() fetch_array() 方法读取结果集中的数据

获取列信息

结果集对象的 field_count 属性 给出数据列的个数

current_field 属性 获取指向当前列的位置

field_seek()方法 改变指向当前列的偏移位置

fetch_field()方法 返回当前列的信息

一次执行多条SQL命令

使用mysqli对象的multi_query()方法执行多条SQL语句,多条SQL语句写在一个字符串中,且用分号分隔

store_result()//将全部结果取回客户端

more_result()//检查是否还有其他结果集

next_result()//获取下一个结果集

使用 mysqli_stmt 类

该类对象,定义和执行参数化的SQL命令

获取预处理语句对象

方法一:

使用mysqli对象中的prepare()方法准备要执行的SQL语句,获得一个mysqli_stmt对象

例:

$stmt = $mysqli->prepare("sql语句");//SQL语句的各参数替换为占位符,通常使用?

方法二:

$stmt = $mysqli->stmt_init();//获取一个mysqli_stmt 对象

$stmt->prepare("SQL语句");

使用bind_param()方法 绑定参数

绑定参数的顺序应与预处理语句中占位符表示的参数顺序对应

i 表示所有INTEGER类型

d 表示DOUBLE和FLOAT类型

s 表示所有其他类型(包括字符串)

b 表示二进制数据类型

例:

$stmt = $mysqli->prepare($insertbook);

//绑定变量

$stmt->bind_param(‘ssd‘,$bookName,$publisher,$price);

$bookName = "css";

$publisher = "清华大学出版社";

$price = ‘100‘;

$stmt->execute();

echo ‘插入的行数:‘.$stmt->affected_rows.‘<br>‘;

echo ‘自动增长的ID:‘.$mysqli->insert_id.‘<br>‘;

execute() 执行准备好的语句

close()  回收资源

时间: 2024-08-29 15:57:48

PHP的mysqli扩展的相关文章

验证mySqli扩展是否

<?php// createTime: 2016/9/9 21:57 //验证mySqli扩展是否//phpinfo(); //2.检测扩展是否已经加载//var_dump(extension_loaded('mysqli')) ;//bool(true) //3.检测函数是否存在var_dump(function_exists('mysqli_connect')); //4得到当前已经开启的扩展print_r(get_loaded_extensions());

linux下php的mysqli扩展安装

以前一直是在WAMP的环境下开发的,很少接触LAMP开发,现在公司里面需要用到LAMP环境,接下来就需要对该环境多多学习了. 今天在原有的php5.3的基础上升级为了php5.4版本,需要对环境进行一些修改,其中就涉及到了php模块的配置,WAMP下直接在php.ini中启用mysqli就行(去掉;extension=php_mysqli.dll前面的分号";"),但是Linux环境下不只要这样做,还要自己去添加mysqli的扩展文件,我以mysqli的添加为例进行记录. 首先到php

centos php7 安装mysqli扩展心得

在新配服务器时发现,php无法连接到mysql.通过phpinfo发现.根本没有显示mysqli的相关配置.经过一系列研究.总结了下.: 第一步: 在phpinfo里没有mysqli配置,原因是安装php7时没有configure mysqli 安装php方法:wget http://cn2.php.net/distributions/php-7.1.5.tar.gz tar zxvf php-7.1.5.tar.gz cd php-7.1.5 ./configure --with-php-co

PHPMyAdmin 显示缺mysqli 扩展的解决方法

今天在学PHP100视频教程时,装了phpMyAdmin.一开始下载的是最新版本phpMyAdmin-4.1.4-all-languages, 直接500错误,页面怎么也打不开.我用的PHP版本是老版本-PHP Version 5.4.0RC4.个人感觉可能是最新版本的PHPMYADMIN不支持老版本PHP吧,反正是怎么都显示500. 然后从PHP100网站上下载了phpMyAdmin-3.5.4-all-languages.按照从网上搜的安装说明, 1.放在了apache下的htdocs文件夹

mysqli扩展库操作mysql数据库

配置环境 配置php.ini文件让php支持mysqli扩展库 extension=php_mysqli.dll 建库建表 详见博客 “mysql扩展库操作mysql数据库” 查询数据库 1 <?php 2 //mysqli扩展库操作mysql数据库,面向对象 3 $mysqli=new MySQLi("localhost","root","root","test"); 4 if($mysqli->connect_

【小结】有关mysql扩展库和mysqli扩展库的crud操作封装

现阶段php如果要操作mysql数据库 php给我们提供了3套库 1.mysql扩展库   面向过程操作 2.mysqli扩展库  面向对象操作和面向过程操作并存  安全性和效率高于mysql扩展库 3.PDO扩展库    面向对象操作 今天这篇博文主要要谈谈mysql扩展库和mysqli扩展库 主要是记录了着2套crud操作分装 以下代码段是关于mysqli扩展库关于crud操作的封装 header("Content-type:text/html;charset=utf-8"); c

边记边学PHP-(十七)PHP使用MySQLi扩展库操作数据库2

从前天开始,我的电脑不知道怎么了,写程序的时候无缘无故就死机.还不是彻底死,鼠标还能动,就是点击不好使,也打不开任务管理器.昨晚检查一下硬盘,有六个坏道,也不知道是不是这个原因.但是我在玩的时候,只要不打开编译器写程序,啥事也没有.玩游戏也不回出现那种情况.把我搞得好烦. 四.Mysqli扩展库增强 MySQLi扩展库在基础操作上看着没什么不同,只是从面面向过程转换成了面向对象.但是既然是mysql扩展库的增强,那一定有强的地方.有如下代码: 1.批量执行sql语句 <?php //mysqli

phpMyAdmin配置及 错误 缺少 mysqli 扩展。请检查 PHP 配置

PHPMyadmin配置文件config.inc.php内容如下,在需要设置的地方增加了相关注释. 非常适合对数据库操作命令不熟悉的数据库管理者,下面我就说下怎么安装该工具: 1.先到网上下载phpmyadmin,再解压到可以访问的web目录下(如果是虚拟空间,可以解压后通过ftp等上传到web目录下),当然您可以修改解压后该文件的名称. 2.配置config文件 打开libraries下的config.default.php文件,依次找到下面各项,按照说明配置即可: A.访问网址 引用: $c

PHP使用mysqli扩展库实现增删改查(面向对象版)

mysqli扩展库是mysql扩展库的改进版本,在mysql扩展库的基础上提高了稳定性和效率,mysqli扩展库有两套东西,一套就是面向过程的mysqli另一套是面向对象的mysqli.操作方式大体和mysql扩展库大体一致,这次还是先抽取出来一个操作mysql的工具类,和调用的类. 1.mysqli扩展库操作数据库工具类 <?php //数据库操作类 class DBUtil{ private $host="localhost"; private $username="

php添加mysqli扩展

任何php的扩展都可以在php的源码包内单独编译安装 此处因phpmyadmin需mysqli扩展,编译该模块安装,过程及一些问题记录如下: php编译安装路径/usr/local/php5.6 mysql编译安装路径/usr/local/mysql5.6 进入php源码安装包的mysqli扩展路径下 # cd /tmp/php-5.6.15/ext/mysqli 生成configure文件 # /usr/local/php5.6/bin/phpize 配置 # ./configure --wi