MySQLi基于面向对象的编程
来源:互联网 发布:最优化理论 推荐教材 编辑:程序博客网 时间:2024/06/01 17:02
mysqli在windows上,对于PHP 5.3或更新版本,mysqli扩展默认开启,对于PHP 5.0 5.1 5.2,mysqli扩展默认并不会开启,因此php.ini中php_mysqli.dll这个DLL 必须开启。
MySQLi基于面向过程的编程和面向对象的编程是相对的,其中使用到的方法都是可以类比的。
mysqli面向过程的编程:http://blog.csdn.net/koastal/article/details/50650496
连接数据库
header("Content-type:text/html;charset=utf-8");$mysqli = new mysqli("localhost", "root", "", "test");if($mysqli->connect_errno){ //连接成功errno应该为0 die('Connect Error:'.$mysqli->connect_error);}
设置字符编码
$mysqli->set_charset('utf8');
插入记录
$query = "INSERT INTO staff(id,name,job) VALUES('','naruto','保安队长')";$res = $mysqli->query($query); //插入成功返回真,插入失败返回假if($res){ //插入成功则输出自增主键的id echo "AUTO_INCREMENT:".$mysqli->insert_id; echo "<hr/>"; echo "AFFECTED ROWS:".$mysqli->affected_rows;}else{ //插入失败则输出错误编号和错误信息 echo "Error:"; echo $mysqli->errno.":".$mysqli->error;}
更新记录
$query = "UPDATE staff SET id = id+10";$res = $mysqli->query($query);//插入成功返回真,插入失败返回假if($res){ //插入成功则输出自增主键的id echo "AUTO_INCREMENT:".$mysqli->insert_id; echo "<hr/>"; echo "AFFECTED ROWS:".$mysqli->affected_rows;}else{ //插入失败则输出错误编号和错误信息 echo "Error:"; echo $mysqli->errno.":".$mysqli->error;}
删除记录
$query = "DELETE FROM staff WHERE id = 24";$res = $mysqli->query($query);//插入成功返回真,插入失败返回假if($res){ //插入成功则输出自增主键的id echo "AUTO_INCREMENT:".$mysqli->insert_id; echo "<hr/>"; echo "AFFECTED ROWS:".$mysqli->affected_rows;}else{ //插入失败则输出错误编号和错误信息 echo "Error:"; echo $mysqli->errno.":".$mysqli->error;}
以上的操作都是使用了mysqli类的属性或者方法。
然而,对于查询语句,我们取出数据还需要使用mysqli_result类的属性和方法。
mysqli_result
类用于保存mysqli->query()
执行查询操作得到的结果集,可以从结果集中取出数据,不再使用结果集之后要使用mysqli_result->close()
语句释放结果集。
查询一条记录
$query = "SELECT * FROM staff WHERE id = 25";$mysqli_result = $mysqli->query($query);//获取查询结果集$row = $mysqli_result->fetch_row(); //使用查询结果集$mysqli_result->close(); //释放查询结果集var_dump($row);
查询多条记录
一次取出全部数据
$query = "SELECT * FROM staff";$mysqli_result = $mysqli->query($query);$rows = $mysqli_result->fetch_all(MYSQLI_ASSOC);$mysqli_result->close();echo "共".count($rows)."条记录:";var_dump($rows);
每次取出一条数据
$query = "SELECT * FROM staff";$mysqli_result = $mysqli->query($query);while($row = $mysqli_result->fetch_array(MYSQLI_ASSOC)){ $rows[] = $row;};$mysqli_result->close();echo "共".count($rows)."条记录:";var_dump($rows);
关闭连接
$mysqli->close();
0 0
- MySQLi基于面向对象的编程
- MySQLi基于面向过程的编程
- 面向对象的mysqli基础
- mysqli基于面向对象的对数据的增删改查
- 编程基础-面向对象-基于模板的面向对象解析
- 基于面向对象编程的列表管理
- 基于Objective-C的面向对象编程
- 基于closure的lua面向对象编程
- 基于原型的JavaScript面向对象编程
- javascript: 基于原型的面向对象编程
- 基于C语言的面向对象编程
- php-mysqli-面向对象查询 连接mysqli
- PHP 基于mysqli面向过程的数据库插入实例
- 面向对象编程和基于对象编程
- Javascript面向(基于)对象编程
- 基于结构;基于对象;面向对象;基于接口四种C++编程思想的实例分析
- 基于面向对象的编程的优势与劣势
- 面向对象编程与基于面向对象编程
- 设计模式之建造者模式
- MySQLi基于面向过程的编程
- UVA 1593
- poj2481Cows【树状数组】
- CodeForces 294A Shaass and Oskols
- MySQLi基于面向对象的编程
- UVA 1594
- MySQLi的高级应用
- no system images installed for target 问题的解决办法
- 函数指针 虚函数遐思
- hdoj5489Removed Interval【lis】
- UVA 10935
- neuq oj 1012 SZ斐波拉契数列 C++
- JVM类的加载过程