簡體   English   中英

通過PHP還原特定表的MySQL轉儲

[英]Restore mysql dump for specific table via PHP

我有一個mysql表轉儲文件(可以在這里查看: http ://pastebin.com/raw.php?i=GQkjrDNz),我想用它來創建一個表(根據轉儲文件命名為php_blog_archive) )使用該sql文件的內容。

問題是我沒有訪問phpmyadmin的權限,所以我只能通過php命令執行此操作,我查看了一些類似的線程,到目前為止,我的代碼是,

<?php
// Config
$db_user = "username";
$db_pass = "password";

exec("mysql -u $db_user -p $db_pass -h localhost databasename < restoreold.sql ");

?>

但是它不起作用,它什么都不做-甚至不顯示任何錯誤。 有人可以建議我如何進行嗎?

首先,命令必須是:

<?php
// Config
$db_user = "username";
$db_pass = "password";

exec("mysql -u " . $db_user . " -p " . $db_pass . " -h localhost databasename < restoreold.sql "); // Added an space before -h

?>

其次,您有權創建/編輯/附加文件和exec命令嗎?

我認為您的密碼有舊問題。

<?php
// Config
$db_user = "username";
$db_pass = "password";

exec("mysql -u " . $db_user . " -p'" . $db_pass . "' -h localhost databasename < restoreold.sql 2>&1", $output);

echo nl2br($output);

?>

這將以mysql -u username -p'password' -h localhost databasename < restoreold.sql 2>&1

最后一件事是將錯誤信息或其他內容回顯到HTML。 這是通過2>&1$output參考變量完成的,該參考變量將從nl(新行以<br />結尾)轉換為HTML並回顯。

希望它能有所幫助並起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM