我有一个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 ");
?>
但它不起作用,它什么都不做 - 甚至没有显示任何错误。有人可以告诉我如何继续吗?
答案 0 :(得分:0)
首先,命令必须是:
<?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命令?
答案 1 :(得分:0)
我认为你的密码存在问题。
<?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
最后一件事是将错误masseges或其他内容回显给HTML。这是通过2>&1
和$output
引用变量完成的,该变量将从nl(新行将以<br />
结尾)转换为HTML并进行回显。
希望它有所帮助。