PHP教程学习10(上):MySQLi面向过程

本文详细介绍了使用 PHP 的 MySQLi 扩展进行数据库操作的方法,包括连接数据库、添加、更新、删除及查询数据等核心功能,并提供了实际的代码示例。

学习教程来源于:
PHP中文网教程 MySQLi面向过程
PHP官网PHP手册(简体中文)链接

MySQL(php5.5以后已废弃)
MySQLi:MySQL的增强版本
PDO:数据库访问统一接口

连接数据库
<?php 
// 参数:服务器名称,用户名,用户密码,数据库名称
// 返回值是一个数据库资源的链接类型
$conn = mysql_connect($host, $username, $password, $dbname);
// 返回链接错误的编号
if (mysqli_connect_errno($conn)) {
	// 返回链接错误的信息
	die('<h2 style="color:red;">链接失败</h2>'.mysql_connect_error($conn);
} else {
	echo '<h2>链接成功</h2>';
}
添加数据
// 注意数据表名和键名是用反引号``包装,而不是单引号
$sql = "INSERT INTO `tableName`(`field1`,`filed2`...) VALUES ('value1','value2'...)";
// mysqli中执行SQL语句的函数,mysqli_query(数据库连接,要执行的SQL语句)
if (mysqli_query($conn,$sql)) {
	// mysqli_affected_rows($conn)返回受影响的记录数
	// mysqli_insert_id($conn)返回新增记录的主键id
	echo '成功添加了'.mysqli_affected_rows($conn).'条记录,新增id是'.mysqli_insert_id($conn);
} else {
	echo '添加失败'.mysqli_error($conn);
}
更新数据
$sql = "UPDATE `表名` SET `字段名1`='值1',`字段名2`='值2'...WHERE '条件表达式'";
if (mysqli_query($conn,$sql)) {
	echo '成功更新了'.mysqli_affected_rows($conn).'条记录';
} else {
	echo '更新失败'.mysqli_error($conn);
}
删除数据
$sql = "DELETE FROM `表名` WHERE '条件表达式'";
if (mysqli_query($conn,$sql)) {
	echo '成功更新了'.mysqli_affected_rows($conn).'条记录';
} else {
	echo '更新失败'.mysqli_error($conn);
}
查询

查询主要是针对结果集的处理
查询分三个层级:字段级、记录级、数据表级
查询结束后需要释放结果集

$sql = "SELECT `字段列表` FROM `表名` [WHERE 条件表达式]";
if ($result = mysqli_query($conn,$sql)) {
	// mysqli_fetch_array($result):索引部分
	// mysqli_fetch_assoc($result):关联部分
	// MYSQLI_ASSOC:索引
	// MYSQLI_NUM:关联
	// MYSQLI_BOTH(默认)
	while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
		echo '<pre>';
		print_r($row);
	}
}
获取全部记录
$sql = "SELECT `字段列表` FROM `表名` [WHERE 条件表达式]";
if ($result = mysqli_query($conn,$sql)) {
	// mysqli_fetch_all()一次性获取全部结果集
	// 默认 MYSQLI_NUM
	$rows = mysqli_fetch_all($result,MYSQLI_ASSOC);
	echo '<pre>';
	print_r($rows);//二维数组
}
获取字段信息
$sql = "SELECT `name`,`grade` FROM `student`[WHERE 条件表达式]";
if ($result = mysqli_query($conn,$sql)) {
	// $rows = mysqli_fetch_field_direct($result,1);返回值为字段信息的对象表示,从当前结果集中获取指定的字段信息
	$fields = mysqli_fetch_fields($result);//获取所有字段的全部信息,并以对象数组方式返回
	echo '<pre>';
	print_r($fields);	
}
遍历字段信息
$sql = "SELECT `name`,`grade` FROM `student`[WHERE 条件表达式]";
if ($result = mysqli_query($conn,$sql)) {
	while ($field = mysqli_fetch_field($result)) {
		echo '<pre>';
		// print_r($field);
		echo $field->name;
		echo '</pre>';
	}
}
关闭数据库连接
mysqli_close($conn);
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值