批改状态:未批改
老师批语:
<meta charset="UTF-8">
<?php
/**
* 配置数据库连接参数
*/
define ('DB_HOST', '127.0.0.1');
define ('DB_USER', 'root');
define ('DB_PASS', 'root');
define ('DB_NAME', 'php');
define ('DB_CHAR', 'utf8');点击 "运行实例" 按钮查看在线实例
<?php
/**
* mysqli数据库连接
* 步骤:
* 1. 创建连接参数
* 2. 调用连接函数,返回连接资源
* 3. 判断是否连接成功
* 4. 选择数据库
* 5. 设置默认字符集
*
* 用到的函数
* 1. mysqli_connect($host,$user,$pass)
* 2. mysqli_connect_errno($db)
* 3. mysqli_connect_error($db)
* 4. mysqli_select_db($dbName)
* 5. mysqli_set_charset('utf8')
*/
//1. 创建连接参数
//创建连接参数: 因为连接参数不会经常变化,所以推荐使用常量
// define ('DB_HOST', '127.0.0.1');
// define ('DB_USER', 'root');
// define ('DB_PASS', 'root');
// define ('DB_NAME', 'php');
// define ('DB_CHAR', 'utf8');
//导入数据库连接参数
require 'mysqli_config.php';
//2. 调用连接函数,成功则返回mysqli对象,失败返回false
$db = mysqli_connect(DB_HOST, DB_USER, DB_PASS);
//var_dump($db);die();
//3. 测试连接是否成功?
//连接失败一定会返回错误编号,可以根据编号判断,也可用 $db是否为false进行判断
//简化代码 $db = mysqli_connect(DB_HOST, DB_USER, DB_PASS,DB_NAME) or die('连接失败'.mysqli_connect_error($db));
if (mysqli_connect_errno($db)) {
exit('连接失败'.mysqli_connect_error($db));
}
echo '<h1>连接成功</h1>';
//4. 选择要操作的数据库
mysqli_select_db($db,DB_NAME);
//5. 设置默认字符集
mysqli_set_charset($db,DB_CHAR);点击 "运行实例" 按钮查看在线实例

使用预处理技术实现更新 :把id=2 黄蓉的salary 改为9999
<meta charset="UTF-8">
<?php
/**
*/
//1.连接数据库
require 'mysqli_connect.php';
//2.准备SQL语句,将变量部分使用占位符进行代替
$sql="UPDATE IGNORE staff SET salary=? WHERE staff_id=3;";
//3.创建并初始化预处理对象stmt:将SQL语句转为对象
$stmt=mysqli_stmt_init($db);
//4.用stmt对象检测预处理语句是否正确,成功返回true,错误返回false
if (mysqli_stmt_prepare($stmt,$sql)){
/* 将变量与SQL语句中的占位符进行绑定 */
mysqli_stmt_bind_param($stmt,'i',$salary);
$salary=9999;
/* 执行SQL语句 */
mysqli_stmt_execute($stmt);
echo '<br>成功的更新了'.mysqli_affected_rows($db).'条记录';
} else {
echo '没有新增任何数据';
//返回SQL执行阶段的错误
exit(mysqli_stmt_errno($stmt).':'.mysqli_stmt_error($stmt));
}
//* 注销stmt对象 */
mysqli_stmt_close($stmt);
//12.关闭数据库连接
mysqli_close($db);点击 "运行实例" 按钮查看在线实例


使用预处理技术实现删除 :删除id=15 小龙女
<meta charset="UTF-8">
<?php
/**
*/
//1.连接数据库
require 'mysqli_connect.php';
//2.准备SQL语句,将变量部分使用占位符进行代替
$sql="DELETE FROM staff WHERE staff_id=?;";
//3.创建并初始化预处理对象stmt:将SQL语句转为对象
$stmt=mysqli_stmt_init($db);
//4.用stmt对象检测预处理语句是否正确,成功返回true,错误返回false
if (mysqli_stmt_prepare($stmt,$sql)){
/* 将变量与SQL语句中的占位符进行绑定 */
mysqli_stmt_bind_param($stmt,'i',$id);
$id=15;
/* 执行SQL语句 */
mysqli_stmt_execute($stmt);
echo '<br>删除成功了'.mysqli_affected_rows($db).'条记录';
} else {
echo '没有删除任何数据';
//返回SQL执行阶段的错误
exit(mysqli_stmt_errno($stmt).':'.mysqli_stmt_error($stmt));
}
//* 注销stmt对象 */
mysqli_stmt_close($stmt);
//12.关闭数据库连接
mysqli_close($db);点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号