学习教程来源于:
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);
?>