批改状态:未批改
老师批语:
PHP基础7
主要知识点
1) 初识对象与类
2) mysqli 的增删改查
什么类,什么是对象
类(Class)就是指变量与一些使用这些变量的函数的集合
对象(Object)是问题域或实现域中某些事物的一个抽象,
它反映此事物在系统中需要保存的信息和发挥的作用;
它是一组属性和有权对这些属性进行操作的一组服务的封装体
例如:
房子作为一个类
房子里面的家具-沙发,厨具-豆浆机等物体,作为这个房子的一部分,即为属性
而通过电能启动风扇空调之类的,称为属性方法,
现在你需要根据条件找到一个有沙发,豆浆机,电能启动风扇空调的这类型的房子,
因此要具体到准确的一个房子,这就是你实例化,具体化的一个对象
与MySQLil连接相关的几个属性和方法的名称,参数,与功能

代码
config.php
<?php // 数据库默认设置 $db_host = '127.0.0.1'; $db_user = 'root'; $db_pass = 'root'; $db_name = 'php'; $db_charset = 'utf8';
db.php
<?php
/**
* 数据库的连接
*/
//创建一个数据库连接,并返回mysqli对象
require 'config.php';
error_reporting(E_ALL ^E_WARNING);
//简化: 将连接参数转为变量或数组
$db = new mysqli($db_host,$db_user,$db_pass, $db_name);
//判断是否连接成功?
if ($db->connect_errno) {
// 自定义错误提示信息
die('连接错误'.$db->connect_errno.': '. $db->connect_error);
}
echo '<h1>连接成功</h1>';
// 设置默认数据库
//$mysqli->select_db($db_name);
//设置client端默认的字符编码集
$db->set_charset($db_charset);demo1.php
<?php
// 引入创建的数据库
require './mysqli/db.php';
// 添加语句
$sql_add = "INSERT IGNORE `staff` SET `name`= ?, `salary`= ?, `age`= ?";
// 创建一个SQL语句的预处理对象
$stmt = $db->prepare($sql_add);
// 参数绑定
$name = 'jack';
$salary = 3500;
$age = 30;
$stmt->bind_param('sii',$name,$salary,$age);
// 执行sql语句
if($stmt->execute()){
//检测是否有数据被更新
if ($stmt->affected_rows > 0) {
echo '<br>add :'.$stmt->affected_rows.' count';
} else {
echo '<br>none';
}
} else{
exit($stmt->errno. ':' .$stmt->error);
}
// 更新数据
$sql_update = "UPDATE `staff` SET `salary`= ?, `age`= ? WHERE `staff_id`= ?";
// 创建一个SQL语句的预处理对象
$stmt = $db->prepare($sql_update);
// 参数绑定
$id = 10;
$salary = 6000;
$age = 35;
$stmt->bind_param('iii',$salary,$age,$id);
//执行SQL语句
if ($stmt->execute()) {
//检测是否有数据被更新
if ($stmt->affected_rows > 0) {
echo '<br>update :'.$stmt->affected_rows.' count';
} else {
echo '<br>none';
}
} else {
exit('error '.$stmt->errno. ':' .$stmt->error);
}
// 查询
$sql_sel = "SELECT `staff_id`,`name`,`salary`,`sex` FROM `staff` WHERE `salary` < ? ";
// 创建预处理对象
$stmt = $db->stmt_init();
// 创建一个SQL语句的预处理对象
$stmt = $db->prepare($sql_sel);
// 参数绑定
$salary = 6000;
$stmt->bind_param('i',$salary);
// 执行SQL语句
if ($stmt->execute()) {
// 获取结果集并放到缓存区
$stmt->store_result();
// 将结果集中的列绑定到变量上
$stmt->bind_result($id, $name, $salary, $sex);
// 结果集是否不为0,只有不为空的时候才遍历
if ($stmt->num_rows > 0) {
// 循环遍历结果集
// fetch()每次获取一条记录,并将指针自动下移
while ($stmt->fetch()) {
echo '<p>id:'.$id.'---姓名:' .$name.'---工资:'.$salary.'---性别:'.$sex.'</p>';
}
} else {
exit('<p>当前表中没有数据</p>');
}
} else {
exit('error '.$stmt->errno. ':' .$stmt->error);
}
// 删除
$sql_del = "DELETE FROM `staff` WHERE `name`= ?";
// 创建一个SQL语句的预处理对象
$stmt = $db->prepare($sql_del);
// 参数绑定
$name = 'jack';
$stmt->bind_param('s',$name);
// 执行SQL语句
if ($stmt->execute()) {
// 检测是否有数据被删除
if ($stmt->affected_rows > 0) {
echo '<br>delete :'.$stmt->affected_rows.' count';
} else {
echo '<br>none';
}
} else {
exit('error '.$stmt->errno. ':' .$stmt->error);
}
$stmt = null;
// 关闭连接
$db = null;总结
这次的重点是对mysqli 的函数操作与掌握,需要多次重复练习。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号