команда restore mysql db backup в php

У меня возникла проблема при восстановлении файла db. Ниже приведен сценарий, который я использую для восстановления:

<?php $dbhost = "localhost"; $dbuser = "root"; $dbpwd = ""; $dbname = "fhc_test"; $dumpfile = "backup/".$_GET['id'].".sql"; exec("C://xampp/mysql/bin/mysql -u $dbuser -p $dbpwd $dbname < $dumpfile"); ?> 

Ниже приведен сценарий, который я использую для резервного копирования:

 <?php $dbhost = "localhost"; $dbuser = "root"; $dbpwd = ""; $dbname = "fhc"; date_default_timezone_set("Asia/Singapore"); $dumpfile = "backup/". $dbname . "_" . date("dm-Y_H_i_s") . ".sql"; exec("C://xampp/mysql/bin/mysqldump --opt --host=$dbhost --user=$dbuser --password=$dbpwd $dbname > $dumpfile"); ?> 

При резервном копировании файла проблем не обнаружено. Когда я копирую n вставляю содержимое резервной копии в базу данных вручную, он может полностью восстановиться без проблем. Но когда я запускаю сценарий восстановления для выполнения восстановления, файл продолжает загружаться так долго, не вызывая никаких ошибок. Итак, я останавливаю загрузку, и кажется, что в базу данных не было восстановлено никаких таблиц.

Когда я пытаюсь запустить скрипт из cmd, восстановление можно выполнить полностью и быстро. В этом случае я помещаю файл резервной копии в ту же папку, что и mysql.exe

Вот как я делаю команду в cmd:

 C:\xampp\mysql\bin>mysql -u root -p fhc_test < fhc.sql 

может ли кто-нибудь помочь мне выяснить, в чем проблема, которая у меня есть в моем скрипте восстановления? bcos я сделал так много проверок, и кажется, что с кодом нет ошибки. Мне нужно скопировать файл mysql.exe из c: / xampp / mysql / bin и поместить его в ту же папку, где я поместил свой php-файл?

Я действительно не знаю, что мне с этим делать.

Учитывая, что вы используете:

 C:\xampp\mysql\bin>mysql -u root -p fhc_test < fhc.sql 

это пользовательский корень, с которым вы пытаетесь. Не пользователь phpmyadmin. Поэтому вам нужно использовать параметр -p чтобы указать пароль для root.