文章目录
- 1. 表单和请求
- (1) 表单操作
- (2) 网络请求
- (3) $_REQUEST超全局变量
- 2. mysql数据库操作
- 1) mysqli连接操作
- 2) 操作数据库
- 3) 预处理语句
- 4) pdo操作数据库
- 5) 创建连接并执行查询语句
1. 表单和请求
主要使用到**$_GET** 和 $_POST这两个超全局变量,分别对应两种请求
(1) 表单操作
<form action="use.php" method="get">
账号: <input type="text" name="username" required><br>
密码: <input type="password" name="password" required><br>
性别: <input type="radio" name="sex" value="1" required>男 <input type="radio" name="sex" value="2" required>女<br>
爱好: <input type="checkbox" name="hobby[]" value="1">篮球 <input type="checkbox" name="hobby[]" value="2">足球 <input type="checkbox" name="hobby[]" value="3">羽毛球<br>
地址: <input type="text" name="address" required><br>
<input type="submit" value="登录">
</form>
(2) 网络请求
get和post请求时常用的两种HTTP请求方法,用于客户端从服务端发送和请求数据
get请求: 通过url网址的参数的形式将数据附加在url上发送给服务器,参数会出现在url的末尾,使用?将url和参数分隔开
post请求: 将数据作为请求的主体发送给服务器,而不是附加在url上,这使得post请求更适合发送铭感的数据和超长的数据
<?php
var_dump($_GET); // 通过$_GET获取get请求的参数
echo "<br>"; // 可以根据表单获取的信息实现简单登录功能
var_dump($_POST); // 通过$_POST获取post请求的参数
?>
(3) $_REQUEST超全局变量
$_REQUEST变量包含了get和post和cookie的内容
$_server获取请求方式
**htmlspecialchars()**函数: 用于将字符串中的特殊字符转换为HTML实体,以避免子啊HTML文档中引起解析错误或安全漏洞
2. mysql数据库操作
mysqli和PDO操作数据库
1) mysqli连接操作
扩展mysqli: 配置php.ini文件 ,打开一下两个配置
配置phpstorm:
编写代码测试:
// 面向对象连接
<?php
$mysqli = new mysqli("localhost", "root", "xjy1234", "test");
if ($mysqli->connect_errno) {
echo "连接失败: " . $mysqli->connect_error;
}
echo "连接成功";
$mysqli->close();
?>
// 面向过程连接
<?php
$localMysql = mysqli_connect("localhost", "root", "xjy1234", "test");
if (!$localMysql){
echo "连接失败".mysqli_connect_error();
}
echo "连接成功";
// 关闭连接
mysqli_close($localMysql);
?>
2) 操作数据库
查询数据表
<?php
$mysqli = new mysqli("localhost", "root", "xjy1234", "test");
if ($mysqli->connect_errno) {
echo "连接失败: " . $mysqli->connect_error;
}
$test = $mysqli->query("select * from user"); // 该query可以执行sql语句例如: 创建数据库表,数据的增删查改
print_r($test->fetch_all());
$mysqli->close();
?>
3) 预处理语句
解决sql注入
// 使用?作为占位符
$sql = "select * from user where username=? and password = ?";
$stmt = $conn->prepare($sql)
// s表示字符串,i表示整型,d表示double形,b表示二进制
$stmt = bind_param("ss",$username,$password)
$stmt = execute(); // 执行
// 获取返回结果
$result = $stmt->get_result()
$stmt->close()
4) pdo操作数据库
开启pdo
// 查看是否有
phpinfo();
5) 创建连接并执行查询语句
<?php
try {
$PDO = new PDO("mysql:host=localhost;dbname=test", "root", "xjy1234");
$PDO->setAttribute($PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
}catch (Exception $e){
echo "sql连接错误".$e;
}
// 新增删除修改使用exec
$result = $PDO->query("select * from user");
print_r($result->fetchAll());
?>