在PHP中,将本地上传的文件信息存入MySQL数据库需要先通过HTML表单获取文件,然后使用PHP的$_FILES全局变量处理上传的文件。建立与MySQL数据库的连接,并编写SQL语句将文件信息插入到数据库表中。执行SQL语句并关闭数据库连接。
在PHP中,我们可以使用mysqli或PDO扩展来连接MySQL数据库,以下是一个使用mysqli的例子:
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn>connect_error) { die("连接失败: " . $conn>connect_error); } // 预处理及绑定 $stmt = $conn>prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)"); $stmt>bind_param("sss", $firstname, $lastname, $email); // 设置参数并执行 $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt>execute(); echo "新记录插入成功"; $stmt>close(); $conn>close(); ?>
在这个例子中,我们首先创建了一个到MySQL服务器的新连接,然后检查是否成功,如果连接失败,脚本将停止执行并打印错误信息,我们创建一个预处理的SQL语句,该语句用于插入新的记录,我们使用占位符("?")来代替实际的值,然后使用bind_param()方法将变量绑定到这些占位符,我们设置参数值,执行语句,关闭语句和连接。
下面是一个简单的介绍示例,展示了如何使用PHP将本地上传的文件信息存入MySQL数据库,该介绍包含以下列:数据库列名、数据类型、描述和PHP代码片段。
file_id
$file_id
file_name
$file_name
file_size
$file_size
file_type
$file_type
file_path
$file_path
uploaded_at
CURRENT_TIMESTAMP
以下是PHP代码片段,演示了如何将文件信息插入数据库:
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接 if ($conn>connect_error) { die("连接失败: " . $conn>connect_error); } // 处理文件上传 $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; // 检查文件是否已经存在 if (file_exists($target_file)) { echo "抱歉,文件已存在。"; $uploadOk = 0; } // 检查是否是真正的上传文件 if ($uploadOk == 0) { echo "抱歉,文件未上传。"; } else { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { echo "文件 ". htmlspecialchars(basename( $_FILES["fileToUpload"]["name"])). " 已上传。"; // 插入数据到数据库 $file_name = basename($_FILES["fileToUpload"]["name"]); $file_size = $_FILES["fileToUpload"]["size"]; $file_type = $_FILES["fileToUpload"]["type"]; $file_path = $target_file; $sql = "INSERT INTO files (file_name, file_size, file_type, file_path, uploaded_at) VALUES ('$file_name', $file_size, '$file_type', '$file_path', CURRENT_TIMESTAMP)"; if ($conn>query($sql) === TRUE) { echo "新记录插入成功"; } else { echo "错误: " . $sql . "<br>" . $conn>error; } } else { echo "抱歉,文件上传时发生错误。"; } } $conn>close(); ?>
请注意,这段代码仅用于示例,未包含所有必要的错误检查和安全措施(对上传的文件类型进行检查、防止SQL注入等),在实际应用中,你应该确保所有上传的文件都是安全的,并且对数据库操作进行适当的错误处理。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/10444.html