mysqli扩展库操作mysql数据库
- 配置环境
配置php.ini文件让php支持mysqli扩展库
extension=php_mysqli.dll
- 建库建表
详见博客 “mysql扩展库操作mysql数据库”
- 查询数据库
<?php
//mysqli扩展库操作mysql数据库,面向对象
$mysqli=new MySQLi("localhost","root","root","test");
if($mysqli->connect_error){
die("连接数据库失败".$mysqli->connect_error);
}
$sql="select * from user1";
$res=$mysqli->query($sql);
while($row=$res->fetch_row()){
foreach($row as $key=>$val){
echo "--".$val;
}
echo "<br/>";
}
$res->free();
$mysqli->close();
?>
结果如下:

- 增删改数据库
<?php
//mysqli扩展库操作mysql数据库,面向对象
$mysqli=new MySQLi("localhost","root","root","test");
if($mysqli->connect_error){
die("连接数据库失败".$mysqli->connect_error);
}
//$sql="insert into user1 (name,password,age,birthday) values ('wpp',md5('wpp'),25,'1991-05-05')";
//$sql="update user1 set age=24 where name='wpp'";
$sql="delete from user1 where name='wpp'";
$res=$mysqli->query($sql);
if(!$res){
echo "操作失败".$mysqli->error;
}else{
if($mysqli->affected_rows>0){
echo "操作成功";
}else{
echo "没有行受到影响";
}
}
$mysqli->close();
?>
- 把数据库操作封装成类
mysqliTool.class.php 数据库操作文件
<?php
class MysqliTool{
private $mysqli;
private $host="localhost";
private $userName="root";
private $pwd="root";
private $db="test";
public function __construct(){
$this->mysqli=new MySQLi($this->host,$this->userName,$this->pwd,$this->db);
if($this->mysqli->connect_error){
die("连接失败".$this->mysqli->connect_error);
}
$this->mysqli->query("set names utf8");
}
public function executeDql($sql){
$res=$this->mysqli->query($sql) or die("操作dql失败".$this->mysqli->error);
return $res;
}
public function executeDml($sql){
$res=$this->mysqli->query($sql);
if(!$res){
return 0;//0表示操作失败
}else{
if($this->mysqli->affected_rows>0){
return 1;//1表示操作成功
}else{
return 2;//2表示没有行受到影响
}
}
}
public function mysqliClo(){
$this->mysqli->close();
}
}
?>
执行dql语句:
<?php
//引入类文件
require_once "mysqliTool.class.php";
//把类实例化
$mysqliTool=new MysqliTool();
//dql语句
$sql="select * from user1";
//执行sql语句
$res=$mysqliTool->executeDql($sql);
while($row=$res->fetch_row()){
foreach($row as $key=>$val){
echo "--".$val;
}
echo "<br/>";
}
$res->free();
$mysqliTool->mysqliClo();
?>
执行dml语句:
<?php
//引入类文件
require_once "mysqliTool.class.php";
//把类实例化
$mysqliTool=new MysqliTool();
//dml语句
//$sql="insert into user1 (name,password,age,birthday) values ('wpp',md5('wpp'),25,'1991-05-05')";
//$sql="update user1 set age=24 where name='wpp'";
$sql="delete from user1 where name='wpp'";
//执行sml语句
$res=$mysqliTool->executeDql($sql);
if($res==0){
echo "操作失败";
}else if($res==1){
echo "操作成功";
}else if($res==2){
echo "没有行受到影响";
}
$mysqliTool->mysqliClo();
?>
mysqli扩展库操作mysql数据库的更多相关文章
- 使用php的mysqli扩展库操作mysql数据库
简单介绍mysqli: 1.mysqli(mysql improve mysql扩展库的增强版) mysql扩展库和mysqli扩展库的区别 1.mysqli的稳定性 安全性 和 执行效率有所提高 ...
- php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库
1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo mysql扩展库与mysql数据库 ...
- PHP mysql 扩展库 操作mysql数据库步骤
一.mysql 扩展库操作mysql数据库步骤如下: 1.获取连接 2.选择数据库 3.设置操作编码 4.发送指令(ddl数据定义/dml数据操作/dql数据查询/dtl数据事务控制) 5.接收返回的 ...
- mysql扩展库操作mysql数据库
环境搭建 启用mysql扩展库,在php.ini文件中去配置mysql扩展库 extension=php_mysql.dll 查询数据库 1.建库建表 //建库testcreate database ...
- php使用mysql扩展库链接mysql数据库(查询)
php链接数据库可以使用mysql扩展库,mysqli,pdo这几种方式,相比java而言要麻烦一点,因为它不像java那么统一.从代码的难易程度来说php的确要简单许多.步骤大体如下 1.打开数据库 ...
- php三种方式操作mysql数据库
php可以通过三种方式操作数据库,分别用mysql扩展库,mysqli扩展库,和mysqli的预处理模式分别举案例加以说明 1.通过mysql方式操作数据库 工具类核心代码: <?php cla ...
- php数据库编程---mysqli扩展库
1,mysqli扩展库允许我们访问MySQL数据库,并对MySql数据库进行curd操作.Mysqli扩展库比mysql扩展库加强了. 2,mysqli扩展库和mysql扩展库的比较 (1) mysq ...
- PHP使用mysqli扩展库实现增删改查(面向对象版)
mysqli扩展库是mysql扩展库的改进版本,在mysql扩展库的基础上提高了稳定性和效率,mysqli扩展库有两套东西,一套就是面向过程的mysqli另一套是面向对象的mysqli.操作方式大体和 ...
- 【小结】有关mysql扩展库和mysqli扩展库的crud操作封装
现阶段php如果要操作mysql数据库 php给我们提供了3套库 1.mysql扩展库 面向过程操作 2.mysqli扩展库 面向对象操作和面向过程操作并存 安全性和效率高于mysql扩展库 ...
随机推荐
- js 复制网页内容,兼容各浏览器
因需要做一个js单击,复制当前网页url的功能.使用的是如下的方法,但是只能在ie浏览器下正常使用. 方法如下: function copyURL(){ var clipBoardContent=&q ...
- myBatis性能优化【转】
官方doc文档 http://www.mybatis.org/mybatis-3/configuration.html#settings 最近测试发现个myBatis 有个比较严重的性能问题, 描述如 ...
- CAS SSO对手机应用支持的一种思路
原文地址: http://architecture3.riaos.com/?p=3095368 手机和桌面应用访问CAS,我们不能直接使用CAS提供的web api.不过CAS提供了一个插件,叫CAS ...
- 解决TortoiseCVS中文乱码
解决TortoiseCVS中文乱码必备,解决方法: 第一:卸载和TortoiseCVS安装一起安装的CVSNT. 第二:安装本版本CVSNT. CVSNT下载地址:http://down.51cto. ...
- SNMP协议总结
说明:本文仅供学习交流,转载请标明出处,欢迎转载! SNMP(Simple Network Management Protocal),简单网络管理协议,其前身是SGMP协议(简单网关监控协议),该协议 ...
- careercup-排序和查找 11.1
11.1 给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B.编写一个方法,将B合并入A并排序. 解法: 已知数组A末端有足够的缓冲,不需要再分配额外空间.程序的处理逻辑很简单,就是逐一比 ...
- Android App用MulticastSocket监听组播,为什么连接到不同路由、在不同手机上跑,有的能收到有的收不到
---------------------------!! 转载请注明出处 !!----------------------- 一个项目,利用wifi组播在局域网内发现设备.却发现在有的路由器上能 ...
- C++ STL (备忘)
2014-08-04 16:33:57 (1) map map定义形式 map<type1,type2> map_name; map的基本操作函数: C++ Maps是一种关 ...
- 理解Objective-c中的copy
说一下深拷贝和浅拷贝的基本概念:a指针指向地址A1, 浅拷贝是创建了一个b指针指向地址A1:深拷贝是创建了一个c指针指向地址A2,A1和A2的地址不同. 我们看到NSObject接口里面是已经声明了c ...
- .Net程序员快速学习安卓开发-布局和点击事件的写法
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 本系列课程 致力于老手程序员可以快速入门学习安卓开发.系统全面的从一个.Net程序员的角度一步步学习总结安 ...