博客列表 >PHP基础7作业08-29

PHP基础7作业08-29

theYon的博客
theYon的博客原创
2018年09月02日 22:55:40694浏览

PHP基础7
主要知识点

1) 初识对象与类

2) mysqli 的增删改查

什么类,什么是对象

类(Class)就是指变量与一些使用这些变量的函数的集合

对象(Object)是问题域或实现域中某些事物的一个抽象,

它反映此事物在系统中需要保存的信息和发挥的作用;

它是一组属性和有权对这些属性进行操作的一组服务的封装体

例如:

   房子作为一个类

   房子里面的家具-沙发,厨具-豆浆机等物体,作为这个房子的一部分,即为属性

   而通过电能启动风扇空调之类的,称为属性方法,

   现在你需要根据条件找到一个有沙发,豆浆机,电能启动风扇空调的这类型的房子,

   因此要具体到准确的一个房子,这就是你实例化,具体化的一个对象

与MySQLil连接相关的几个属性和方法的名称,参数,与功能

0829t.jpg

代码

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 的函数操作与掌握,需要多次重复练习。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议