web安全学习笔记(10)

记一下第十四节课的内容。

一、MySQL学习

数据库基本结构:库------表------列------值

在本地打开navicat,连接数据库,新建一个liuyan库、liuyan库下新建一个member表:

在表里随意添加一些数据:

下面我们学习MySQL查询。新建一个查询并进行最简单的查询示例:

sql 复制代码
SELECT * FROM member;

除此之外,还有删除DELETE操作和更新UPDATE以及插入INSERT操作,之前都学过,不再赘述,这就是MySQL的增删改查

二、Class类

用一个实例说明class类的使用:

php 复制代码
<?php

class test
{
    public function go($msg)
    {
        echo $msg;
    }
}

$a = new test();
$a->go("hello!");

三、PHP连接MySQL数据库

在MySQL中新建一个用户liuyan,密码为123456,并设置其权限为对liuyan数据库进行所有操作。这样做的目的是为了保证数据库的安全。

接下来我们使用mysqli来实现PHP连接数据库。

新建一个db.php文件,输入以下内容:mysqli_connect_error() 返回连接错误信息

php 复制代码
<?php

$db = new mysqli('172.20.10.3','liuyan','123456','liuyan',3306);
if(mysqli_connect_errno() != 0){
    echo 'MySQL连接产生错误';
    echo mysqli_connect_error();
}

打开http://172.20.10.3/db.php,会发现网页无内容,说明没错:

$db就是实例化了一个mysqli对象,mysqli_connect_errno()函数作用返回上次连接调用的错误代码,如果没有发生错误则返回0;mysqli_connect_error()函数作用返回连接错误信息。

如果出现错误的话,比如说我们把密码故意改为错误的,再打开网页,就会报错:

但是我们看到不但echo了"MySQL连接产生错误"和连接错误的信息,还出现了MySQL本身的错误信息,我们可以使用@将其屏蔽掉,避免暴露连接信息。

php 复制代码
<?php

$db = @new mysqli('172.20.10.3','liuyan','1234567','liuyan',3306);
if(mysqli_connect_errno() != 0){
    echo 'MySQL连接产生错误';
    echo mysqli_connect_error();
}

然后我们可以进行查询,并输出:

php 复制代码
<?php

$db = @new mysqli('172.20.10.3','liuyan','123456','liuyan',3306);
if(mysqli_connect_errno() != 0){
    echo 'MySQL连接产生错误';
    echo mysqli_connect_error();
}
$sql = "select * from member where username = 'admin';";
$result = $db->query($sql);
var_dump($result->fetch_all(MYSQLI_ASSOC));
相关推荐
智者知已应修善业42 分钟前
【51单片机2个按键控制流水灯运行与暂停】2023-9-6
c++·经验分享·笔记·算法·51单片机
sakiko_1 小时前
UIKit学习笔记5-使用UITableView制作聊天页面
笔记·学习·swift·uikit
Alice-YUE2 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
北山有鸟3 小时前
修改源码法和插件法
嵌入式硬件·学习
richxu202510013 小时前
嵌入式学习之路->stm32篇->(14)通用定时器(上)
stm32·单片机·嵌入式硬件·学习
小陈phd3 小时前
TensorRT 入门完全指南(一)——从核心定义到生态工具全解析
人工智能·笔记
是上好佳佳佳呀3 小时前
【前端(十一)】JavaScript 语法基础笔记(多语言对比)
前端·javascript·笔记
qeen873 小时前
【数据结构】建堆的时间复杂度讨论与TOP-K问题
c语言·数据结构·c++·学习·
handler014 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
lizhihai_994 小时前
股市学习心得-六张分时保命图
大数据·人工智能·学习