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