通过客户端上传(.sql文件)在PHP中还原MySQL数据库

迈克尔·安东尼·勒伯

好了,因此我已经能够成功地采用PHPMyAdmin创建的数据库,并使用php将其备份到客户端。现在,我正在尝试将该数据库还原为同一环境中的新数据库。

我已经找到了可以在mysql中运行的命令,但是我似乎无法使其与客户端从其计算机上载的文件一起使用。

这是我现在拥有的代码:

<?php
    // display form if user has not clicked submit
    if (!isset($_POST["btn_submit"])) 
    {
?>

<!--This will be the form that will hold the information of the entire page.-->
<form enctype="multipart/form-data"class="elegant-aero" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <h1>Restore Database</h1>
    <p>
        <label>
            <span>Database File</span>
            <input type="file" name="backupFile" value="Upload File">
        </label>

        <!--Submit Button-->
        <label>
            <span>&nbsp;</span>
            <input type="submit" name="btn_submit" class="button" value="Add Scenario"/>
        </label>
    </p>
</form>

<?php

    } //end if

    else 
    {
        if(isset($_FILES['backupFile']['error']) && UPLOAD_ERR_OK == $_FILES['backupFile']['error'])
        {
            //Format sql file
            $file = addslashes(file_get_contents($_FILES['backupFile']['tmp_name']));
        } //end if

        //Set up the MySQL Server
        $servername = "localhost";
        $username = "root";
        $password = "password";//hide your password
        $dbname = "test";

        //Create connection to the MySQL server
        $conn = new mysqli($servername, $username, $password);

        $sql1 = "CREATE DATABASE test"; 

        if($conn->query($sql1) === TRUE) 
        {
            echo "Database created successfully<br>"; 
        } else {
            echo "Error creating database: " . $conn->error; 
        } //end else

        $sql2 = "mysql --user={$username} --password={$password} --database={$dbname} < $file";

        if($conn->query($sql2) === TRUE) 
        {
            echo "Information uploaded successfully<br>"; 
        } else {
            echo "Error uploading information: " . $conn->error; 
        } //end else

    } //end else

?>
脚掌PA

您的代码有很多问题(fileScenDetails是从哪里来的?表单中的backupFile发生了什么?),但是根据您的问题:

   $sql2 = "mysql --user={$username} --password={$password} --database={$dbname} < $file";

    if($conn->query($sql2) === TRUE) 
    {
        echo "Information uploaded successfully<br>"; 
    } else {
        echo "Error uploading information: " . $conn->error; 
    } //end else

您正在尝试运行* nix命令作为数据库查询。代替:

if($conn->query($sql2) === TRUE) 

您需要执行以下操作:

if(exec($sql2) === TRUE)

确实需要在这里仔细阅读您想做的事情,因为这样做真的很危险,因此初学者不应该尝试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么通过客户端上的XSLT在Google Chrome浏览器中无法正确显示换行(&#10;)字符?

来自分类Dev

客户端上传到数据库

来自分类Dev

通过客户端使用PHP提取的JSON格式

来自分类Dev

如何使用Ktor客户端上传文件

来自分类Dev

ORACLE APEX 如何从客户端上传 JSON 文件?

来自分类Dev

如何在服务器中设置Windows应用程序vb 2008和mysql数据库并通过客户端访问它?

来自分类Dev

如何通过客户端处理延迟加载数据表?

来自分类Dev

在快速应用程序中通过客户端js中的CDN导入模块

来自分类Dev

如何在Android中通过客户端获取订阅的到期日期?

来自分类Dev

我可以通过客户端API在kubernetes中同时创建许多Job吗?

来自分类Dev

PHP 在从客户端上传到服务器时保留 .jpg 元数据

来自分类Dev

通过客户端通过XHR将Blob数据发送到NodeJS服务器

来自分类Dev

通过客户端通过XHR将Blob数据发送到NodeJS服务器

来自分类Dev

流星:将文件从客户端上传到Mongo集合vs文件系统vs GridFS

来自分类Dev

如果文件长度超过1 GB,如何从客户端上传文件到服务器?

来自分类Dev

Django API 未从 Android OkkHttp 客户端上传大型 json 数据

来自分类Dev

将文件从客户端上传到Azure Blob存储| MVC

来自分类Dev

使用Apache REST客户端上传多部分文件

来自分类Dev

使用签名的URL从客户端上传文件时,如何设置S3 putObject选项

来自分类Dev

AWS将文件从客户端上传到S3

来自分类Dev

jQuery Ajax从客户端上传文件和其他值

来自分类Dev

如何将图像文件从客户端上传到mqtt代理

来自分类Dev

如何在使用 SenseNet dotnet 客户端上传文件后更新自定义字段

来自分类Dev

在ASP中仅使用jquery和Web Service从客户端上传图像

来自分类Dev

使用始终加密的 AzureKey 保管库通过客户端应用程序的存储过程插入表

来自分类Dev

KeyVaultClient 通过客户端库使用 GetSecretAsync 发出单个请求会生成对 Key Vault 的额外调用

来自分类Dev

如何通过客户端Polymer.dart在服务器端Dart中应用设计模式?

来自分类Dev

通过客户端下载 Nodejs 文件(客户端充当服务器和文件之间的“中间人”)

来自分类Dev

通过php将多个文件中的数据插入到mysql数据库中

Related 相关文章

  1. 1

    为什么通过客户端上的XSLT在Google Chrome浏览器中无法正确显示换行(&#10;)字符?

  2. 2

    客户端上传到数据库

  3. 3

    通过客户端使用PHP提取的JSON格式

  4. 4

    如何使用Ktor客户端上传文件

  5. 5

    ORACLE APEX 如何从客户端上传 JSON 文件?

  6. 6

    如何在服务器中设置Windows应用程序vb 2008和mysql数据库并通过客户端访问它?

  7. 7

    如何通过客户端处理延迟加载数据表?

  8. 8

    在快速应用程序中通过客户端js中的CDN导入模块

  9. 9

    如何在Android中通过客户端获取订阅的到期日期?

  10. 10

    我可以通过客户端API在kubernetes中同时创建许多Job吗?

  11. 11

    PHP 在从客户端上传到服务器时保留 .jpg 元数据

  12. 12

    通过客户端通过XHR将Blob数据发送到NodeJS服务器

  13. 13

    通过客户端通过XHR将Blob数据发送到NodeJS服务器

  14. 14

    流星:将文件从客户端上传到Mongo集合vs文件系统vs GridFS

  15. 15

    如果文件长度超过1 GB,如何从客户端上传文件到服务器?

  16. 16

    Django API 未从 Android OkkHttp 客户端上传大型 json 数据

  17. 17

    将文件从客户端上传到Azure Blob存储| MVC

  18. 18

    使用Apache REST客户端上传多部分文件

  19. 19

    使用签名的URL从客户端上传文件时,如何设置S3 putObject选项

  20. 20

    AWS将文件从客户端上传到S3

  21. 21

    jQuery Ajax从客户端上传文件和其他值

  22. 22

    如何将图像文件从客户端上传到mqtt代理

  23. 23

    如何在使用 SenseNet dotnet 客户端上传文件后更新自定义字段

  24. 24

    在ASP中仅使用jquery和Web Service从客户端上传图像

  25. 25

    使用始终加密的 AzureKey 保管库通过客户端应用程序的存储过程插入表

  26. 26

    KeyVaultClient 通过客户端库使用 GetSecretAsync 发出单个请求会生成对 Key Vault 的额外调用

  27. 27

    如何通过客户端Polymer.dart在服务器端Dart中应用设计模式?

  28. 28

    通过客户端下载 Nodejs 文件(客户端充当服务器和文件之间的“中间人”)

  29. 29

    通过php将多个文件中的数据插入到mysql数据库中

热门标签

归档