php实现入库
PHP 实现数据入库的基本方法
使用 PHP 将数据存入数据库通常需要以下步骤。这里以 MySQL 数据库为例。
连接数据库
使用 mysqli 或 PDO 扩展连接 MySQL 数据库:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// 创建 mysqli 连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
准备 SQL 语句
根据需求编写 INSERT 语句:

$sql = "INSERT INTO users (username, email, password) VALUES (?, ?, ?)";
使用预处理语句防止 SQL 注入
预处理语句能有效防止 SQL 注入攻击:
$stmt = $conn->prepare($sql);
$stmt->bind_param("sss", $username, $email, $password);
// 设置参数并执行
$username = "JohnDoe";
$email = "john@example.com";
$password = password_hash("securepassword", PASSWORD_DEFAULT);
$stmt->execute();
检查执行结果
验证数据是否成功插入:

if ($stmt->affected_rows > 0) {
echo "新记录插入成功";
} else {
echo "错误: " . $sql . "<br>" . $conn->error;
}
关闭连接
完成操作后关闭数据库连接:
$stmt->close();
$conn->close();
使用 PDO 的替代方法
PDO 提供了更通用的数据库访问方式:
try {
$pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare("INSERT INTO users (username, email) VALUES (:username, :email)");
$stmt->bindParam(':username', $username);
$stmt->bindParam(':email', $email);
$username = "JaneDoe";
$email = "jane@example.com";
$stmt->execute();
echo "记录创建成功";
} catch(PDOException $e) {
echo "错误: " . $e->getMessage();
}
安全注意事项
密码应使用 password_hash() 函数进行哈希处理
避免直接将用户输入拼接到 SQL 语句中
对用户输入进行验证和过滤
考虑使用事务处理关键操作
完整示例代码
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "testDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 准备并绑定
$stmt = $conn->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $username, $email, $hashed_password);
// 设置参数并执行
$username = "TestUser";
$email = "test@example.com";
$hashed_password = password_hash("testpass", PASSWORD_DEFAULT);
$stmt->execute();
echo "新记录插入成功";
$stmt->close();
$conn->close();
?>
以上方法展示了 PHP 实现数据入库的基本流程,可根据实际需求调整表结构和字段。






