php - 使用准备好的语句和 PDO 保护数据
问题描述
我需要通过 PHP 从<form>
. 我的主要目标是发现保护数据的主要规则,这些数据从用户发送到服务器(例如从注入)。
所以,我正在考虑使用:
- PDO 代替 mysqli
- 准备好的语句
我是关于 PHP 和 Mysql 问题的初学者。我走对了吗?谢谢。
$connection = mysqli_connect('localhost', 'user', 'pass', 'db');
mysqli_set_charset($connection,"utf8");
if (!$connection)
{
exit(mysqli_error());
}
$htmlResult = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$result = $connection->query("SELECT * FROM users WHERE email='".$email."'");
if ($result->num_rows > 0) {
$htmlResult = 'Email already taken';
} else {
$createUser = $connection->query("INSERT INTO users VALUES ('$name', '$phone', '$email', $connection->insert_id)");
if ($createUser) {
$htmlResult = 'Ok id is: '.$connection->insert_id;
}
}
}
echo $htmlResult;
解决方案
推荐阅读
- android - 如何将 GoogleApiClient 位置服务与 Google Api 一起使用?
- spring-mvc - 使用 webflux 构建响应式长轮询 API
- gnuplot - 如何在gnuplot中绘制直方图
- php - 为什么这个 CSV/MySQL 导入脚本会超时?
- html - Flex 列布局(适合高度)在缩小之前保持子项的宽度——为什么?
- google-apps-script - Google 表格功能运行但不影响表格内容
- python - flask_restx fields.Raw 不允许 None
- json - Groovy/Jenkins:如何美化 json 字符串?
- java - 如何在方法中使用 if...else 语句?
- tensorflow - 使用稀疏输入服务于 Tensorflow 模型