我正在尝试制作一个简单的网页,其中包括两个按钮,当其中一个被按下时,将会执行数据库的转储 (
我将尝试在一个开发环境中实现这一点。由于没有集中式服务器,在某些情况下,我会根据每天的情况从几台不同的电脑上进行工作。至于脚本本身(即代码),我只需将其与 SpiderOak 同步,并尝试使
index.html
问题在于,它无法正常运行,控制台没有显示任何错误消息,PHP也是如此。
通过查询是否可能实现这一点?我该怎么做?这段代码有什么问题?
还有没有办法确保备份将创建在特定文件夹中?非常感谢您的任何建议、评论、澄清请求、问题或答案。
mysqldump
),而另一个则会将其还原 (导入)。我将尝试在一个开发环境中实现这一点。由于没有集中式服务器,在某些情况下,我会根据每天的情况从几台不同的电脑上进行工作。至于脚本本身(即代码),我只需将其与 SpiderOak 同步,并尝试使
mysqldump
在不同电脑之间实现同步。index.html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<title>Herramienta Back Up/Restore DataBase ;)</title>
<link rel="stylesheet" type="text/css" href="Babifu.css">
</head>
<body>
<center>
<img class="thumb" src="http://lorempixel.com/g/450/370/nightlife/"/><br /><br />
<form id="me1" action="backup.php" method="post"><br /><br /><br />
<input type="submit" value="Backup database" />
</form>
<form id="me2" action="restore.php" method="post"><br /><br /><br /><br /><br /><br />
<input type="submit" value="Importar" />
</form>
<div class="clear"></div>
</center>
</body>
</html>
backup.php
<?php
include('conection.php');
try {
$qls = "mysqldump --default-character-set=UTF8 --single-transaction -u root -p[Paswordofthedatabase] u739462586_dtren > restoresync.sql";
$stmt = $con->prepare($qls);
$rslt = $stmt->execute();
echo "Base de Datos Salvadas Correctamente";
} catch(PDOException $e) {
echo $e->getMessage;
}
?>
restore.php
<?php
include('conection.php');
try {
$qls = "mysql -u root -p[Paswordofthedatabase] < restoresync.sql";
$stmt = $con->prepare($qls);
$rslt = $stmt->execute();
echo"Base de Datos Restaurados/Importados Correctamente";
} catch(PDOException $e) {
echo $e->getMessage;
}
?>
问题在于,它无法正常运行,控制台没有显示任何错误消息,PHP也是如此。
通过查询是否可能实现这一点?我该怎么做?这段代码有什么问题?
还有没有办法确保备份将创建在特定文件夹中?非常感谢您的任何建议、评论、澄清请求、问题或答案。
mysqldump
和mysql
是控制台命令,而不是SQL语句。用exec()
或类似的方法运行它们。最好指定完整路径,比如/usr/bin/mysqldump
。 - halferexec()
。我刚刚搜索了一下,看起来你可以在控制台上提供密码 - 只要注意其他用户可能会在任务管理器中看到它。 - halfer