Php 是否可以同时从MySQL数据库存储和检索数据

Php 是否可以同时从MySQL数据库存储和检索数据,php,mysql,mysqli,Php,Mysql,Mysqli,我想上传一个文件,在那里我将存储文件的名称、链接和大小。然后,我想检索文件的链接,这样我就可以读取并在提取文件后将其内容存储在数据库中 是否可以在单个PHP文件中执行此操作?现在,当我上传文件时,它会将文件的名称、链接和大小存储到数据库中。但是为了读取上传的文件,提取内容并将内容存储到数据库中,我必须重新加载相同的文件 users.XML文件: <?xml version="1.0" encoding="UTF-8"?> <user> <FirstName&

我想上传一个文件,在那里我将存储文件的名称、链接和大小。然后,我想检索文件的链接,这样我就可以读取并在提取文件后将其内容存储在数据库中

是否可以在单个PHP文件中执行此操作?现在,当我上传文件时,它会将文件的名称、链接和大小存储到数据库中。但是为了读取上传的文件,提取内容并将内容存储到数据库中,我必须重新加载相同的文件

users.XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<user>
    <FirstName>Example 1</FirstName>
    <LastName>Example 2</LastName>
    <Phone>Example 3</Phone>
    <Address>Example 4</Address>
</user>

例1
例2
例3
例4
下面是PHP脚本:

<?php

//report any error
error_reporting(E_ALL); ini_set('display_errors', 1); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

//connect to database
include 'conn.php';

$ds = "/";
$storeFolder = 'uploads';


if(!empty($_FILES)) {
    $fname = basename($_FILES['file']['name']);
    $ftype = $_FILES['file']['type'];
    $fsize = $_FILES['file']['size'];
    $flink = 'http://localhost/aps/upload/' . rawurlencode($fname);

    $xml = simplexml_load_file($flink);

    $firstname = $xml->FirstName;
    $lastname = $xml->LastName;
    $phone = $xml->Phone;
    $address = $xml->Address;

    $tempFile = $_FILES['file']['tmp_name'];
    $targetPath = dirname(__FILE__) . $ds . $storeFolder . $ds;
    $targetFile = $targetPath . $_FILES['file']['name'];
    move_uploaded_file($tempFile, $targetFile);

    $query = "INSERT INTO user_details (link, name, size, type, first_name, last_name, phone, address) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";

    $stmt = $conn->prepare($query);
    $stmt->bind_param('ssssssss', $flink, $fname, $fsize, $ftype, $firstname, $lastname, $phone, $address);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($link, $name, $size, $type, $first_name, $last_name, $phone, $address);


}

//Close statement
$stmt->close();

//Close connection
$conn->close();

?>
FirstName;
$lastname=$xml->lastname;
$phone=$xml->phone;
$address=$xml->address;
$tempFile=$\u FILES['file']['tmp\u name'];
$targetPath=dirname(_文件__)$ds$存储文件夹$ds;
$targetFile=$targetPath$_文件['file']['name'];
移动上传的文件($tempFile,$targetFile);
$query=“在用户详细信息(链接、名称、大小、类型、名字、姓氏、电话、地址)中插入值(?,,,,,,,,,?)”;
$stmt=$conn->prepare($query);
$stmt->bind_参数('ssss'、$flink、$fname、$fsize、$ftype、$firstname、$lastname、$phone、$address);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($link、$name、$size、$type、$first_name、$last_name、$phone、$address);
}
//结束语
$stmt->close();
//密切联系
$conn->close();
?>

谢谢你的帮助。谢谢。

看起来您在上传文件后正在下载该文件,请在执行移动\u上传\u文件后尝试加载该文件。。。您希望将$targetFile的内容插入到表user_details中的字段“file_data”中,并尝试更改为

move_uploaded_file($tempFile, $targetFile);
$xml = simplexml_load_file( $targetFile);

$firstname = $xml->FirstName;
$lastname = $xml->LastName;
$phone = $xml->Phone;
$address = $xml->Address;

$query = "INSERT INTO user_details (link, name, size, type, first_name, last_name, phone, address) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";

$stmt = $conn->prepare($query);
$stmt->bind_param('ssssssss', $flink, $fname, $fsize, $ftype, $firstname, $lastname, $phone, $address);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($link, $name, $size, $type, $first_name, $last_name, $phone, $address);

你能展示你的代码吗?或者至少解释一下文件是如何上传的-你用什么过程来处理上传,拉取数据库名称,你把文件放在哪里(远离上传时的临时位置),等等。你通过PHP放在数据库中的任何东西都可以立即用于PHP脚本。。因此,我认为我们需要看到一些代码来引导您了解它是如何工作的。我添加了这些代码。希望有人能帮忙。在我决定把它贴在这里之前,我已经被这个问题困扰了很长一段时间。它不起作用,这也不是我想要的。我想从上传的XML文件中提取元素,并将它们插入到数据库中。无论如何,我不是这样做,而是这样做:$xml=simplexml\u load\u file($targetFile);好的,谢谢!是 啊不确定我的想法,你想在数据库中的原始文件数据来自LOL,删除了该部分。很高兴有用的部分为您工作!