千家信息网

PHP中Mysqli常用代码有哪些

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关PHP中Mysqli常用代码有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP5.0开始,不仅可以使用早期的mysql数据库扩展
千家信息网最后更新 2026年10月31日PHP中Mysqli常用代码有哪些

这篇文章将为大家详细讲解有关PHP中Mysqli常用代码有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

PHP5.0开始,不仅可以使用早期的mysql数据库扩展函数,还能使用新扩展的mysqli技术实现与mysql数据库的信息交流,PHP的mysqli扩展被封装在在一个类中,它是一种面向对象技术,只能在PHP5和MYSQL4,1或更高的版本才能使用,(i)表示该进,使用mysqli,执行速度更快,更方便,更高效,也可以使数据库访问更安全(因为用类模式)
使用mysqli 简单流程

设置PHP.ini 配置文件
extension=php_mysqli.dll

//创建连接

$conn = new mysqli($servername, $username, $password, $dbname);

//检测连接

if ($conn->connect_error)  {   die("Connection failed: " . $conn->connect_error); }

//获取数据库返回值

if($stmt=$con->prepare("SELECT username,password FROM member WHERE username=? AND password=?")) {   $stmt->bind_param("ss",$username,$password);   $stmt->execute();   $stmt->bind_result($U,$P);   $HasData=false;   while($stmt->fetch())   {     $HasData=true;     echo "username->".$U." password->".$P."
"; } }

//关闭连接

$conn->close();

//常用语法
INSERT INTO [表名] ([字段1],[字段2]) VALUES ([值1],[值2]);
SELECT * FROM [表名] WHERE [表达式] ORDER BY [字段1],[ASC/DESC 升/降] [字段2],[ASC/DESC 升/降];
DELETE FROM [表名] WHERE [表达式];
UPDATE [表名] SET [字段1]=[值1],[字段2]=[值2] WHERE [表达式];
获取总行数:SELECT COUNT(*) FROM [表]

//中文乱码

//针对页面 header("Content-Type:text/html;charset=utf-8"); //针对数据库 mysqli->query("SET CHARACTER SET 'utf8'");//读库  mysqli->query("SET NAMES 'utf8'");//写库

以下是一些实例

连接mysqli

建立MYSQL配置文件 config.ini.php

config.ini.php 内容如下:

(用mysqli链接MYSQL数据库)

requery_once("config.ini.php");$mysqliObj = new mysqli($dbhost,$dbuser,$dbpwd,$dbname);if(mysqli_connect_errno()){ echo "连接失败".mysqli_connect_error(); exit();}$mysqliObj->query("set name $charName");

(其他操作)

查询

(单条查询)$sql = "drop table if exists user;";$mysqliObj->query($sql); (多条查询)$musqliObj->multip_query($sql) 返回执行$sql受影响的行数() if($mysqliObj->query($sql))echo $mysqliObj->affected_rows; insert 插入时,返回插入的id (很有用)  $num = $mysqliObj->insert_id;

三种处理查询结果

$sql = "select * from user"; $result = $mysqli->query($sql); (1)fetch_row()  返回索引数组fetch_row()while(list($id,$name,$pwd)=$result->fetch_row()){echo "id: ".$id." name:".$name." pwd:".$pwd."
"; }(2)fetch_assoc() 返回关联数组fetch_assoc()while ($row = $result->fetch_assoc()){ echo "id:".$row["userId"]." name:".$row["userName"]." pwd:".$row["password"]."
";} (3)fetch_object()返回对象while($row = $result->fetch_object()){echo "id:".$row->userId." name:".$row->uerName." pwd:".$row->password."
"; }

关联数组,就是嵌套的数组 如:

 'John Smith', 'home' => '555-555-5555',        'cell' => '666-555-5555', 'email' => 'john@myexample.com'),     array('name' => 'Jack Jones', 'home' => '777-555-5555',        'cell' => '888-555-5555', 'email' => 'jack@myexample.com'),     array('name' => 'Jane Munson', 'home' => '000-555-5555',        'cell' => '123456', 'email' => 'jane@myexample.com')    );?>

使用 mysqli_stmt 类

mysql4.1版本开始提供一种预处理(prepared statement)的机制,它可以见整个命令向MYSQL服务器发送一次,以后只有参数变化,MYSQL只需要对命令做一次的分析就够了,大大减少需要传输的数据量,还提高了命令的处理效率(注,在不需要连接时应该立刻关闭close())
步骤:

1,预备SQL命令
$sql = "insert into user(name,pwd) values(?,?)";
$stms = $mysqli->prepare($sql);
2.绑定数据
$stms->bind_param('ss',$name,$pwd); (注意'ss':其要与后面的变量对应($name,$pwd)
i 所有inerger类型
d double 或float 类型
s 所有其他类型包括字符串
b 二进制(blob,二进制字节串)

)
$name = "huang";
$pwd = "123456";
3.执行
$stms->execute();
[4.在绑定执行另一组数据
$name = "he";
$pwd = "666666";
$stms->execute();
]
5.关闭
$stmt->close();
$mysqli->close();
(其他有用参数)
$num = $stmt->affected_rows; 受影响的行数
$id = $stmt->insert_id; 当是插入命令时,返回插入的行id(自动)
事务处理
在默认情况下,MYSQL是以自动提交(autocommit)模式运行,这就意味着所执行的每一个语句都将立即写入数据库中,但如果使用事务安全的表格类型,是不希望自动提交的行为的
事务处理
当执行多条MYSQL命令时,当然希望当其中一条命令出错时,所有的命令都不执行,返回执行命令之前的状态
这就用到事务了
简单运用事务流程
1.写好SQL命令
$sql1 = "insert user(name) values('huang','123456')";
$sql2 = "update account set number = number+1";
2.关闭MYSQL事务处理的自动提交模式
$mysqli->cutocommit(0);
3.试执行命令
$success = true;
$res1 = $mysqli->query($sql1);
if(!$res1 or $mysqli->affected_rows !=1){
$success = false;
}
$res2 = $mysqli->query($sql2);
if(!$res2 or $mysqli->affected_rows !=1){
$success = false;
}
4.查看执行情况,都成功执行,有失败回滚初态
if($success ){
$mysqli->commit();
echo "执行成功";
}else{
$mysqli->rollback();
echo "执行失败";
}
5.恢复MYSQL事务处理的自动提交模式
$mysqli->cutocommit(1);
$mysqli->close();
mysql 目前只有InnDB和BDB两种数据包类型才支持事务
InnoDB最快
(创建InnDB类型表)

create table user(id int(10) not null auto_increment,name varchar(50) not null,pwd varchar(50) not null,primary key(id))type=InnoDB

关于"PHP中Mysqli常用代码有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

命令 数据 事务 数据库 字段 类型 处理 数组 模式 查询 常用 篇文章 表达式 代码 安全 成功 二进制 内容 参数 只有 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北九亚互联网络科技有限公司 科技企业和互联网企业 嘟嘟瓜互联网科技 伴你行互联网科技有限公司 互联网科技公司有哪些 金融科技和互联网金融 互联网金融中的现代科技 千方科技属于互联网企业吗 哈尔滨屹滨互联网科技有限公司 深圳育鹏互联网科技有限公司招聘 长沙互联网科技 智帮互联网科技公司最近动向 美国互联网科技公司 上海互联网科技公司ppt 互联网科技手机排行榜 数字科技和互联网金融哪个好 上海互联网科技园景观 恒生科技互联网指数十大成分股 六子台科技互联网展会 互联网 科技节活动 微视频大赛 互联网金融监管科技数据 智能科技公司是互联网公司吗 深圳互联网科技公司 金融科技 互联网金融 互联网 科技创新 奇酷互联网科技 火传媒上海互联网科技 互联网科技论坛 国外互联网科技网站 呼和浩特新华互联网科技学院
0