php和mysql的新手, 我试图将导出的sql文件插入远程数据库。 我从1and1尝试此代码,但它无效。
my_mean
## class : RasterBrick
## dimensions : 17, 17, 289, 5829 (nrow, ncol, ncell, nlayers)
## resolution : 0.05882353, 0.05882353 (x, y)
## extent : 0, 1, 0, 1 (xmin, xmax, ymin, ymax)
## coord. ref. : NA
## data source : in memory
## names : layer.1, layer.2, layer.3, layer.4, ...
## min values : 0.19478752, 0.14775996, 0.15108237, 0.14281812, ...
## max values : 0.8388662, 0.8577153, 0.8396123, 0.7781535, ...
答案 0 :(得分:1)
@srikanth,我有另一种方法可以做到这一点,试试这个
<?php
// Name of the file
$filename = 'churc.sql';
// MySQL host
$mysql_host = 'testdb.example.com';
// MySQL username
$mysql_username = 'test123';
// MySQL password
$mysql_password = 'test789';
// Database name
$mysql_database = 'Test';
// Connect to MySQL server
mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('Error connecting to MySQL server: ' . mysql_error());
// Select database
mysql_select_db($mysql_database) or die('Error selecting MySQL database: ' . mysql_error());
// Temporary variable, used to store current query
$templine = '';
// Read in entire file
$lines = file($filename);
// Loop through each line
foreach ($lines as $line)
{
// Skip it if it's a comment
if (substr($line, 0, 2) == '--' || $line == '')
continue;
// Add this line to the current segment
$templine .= $line;
// If it has a semicolon at the end, it's the end of the query
if (substr(trim($line), -1, 1) == ';')
{
// Perform the query
mysql_query($templine) or print('Error performing query \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
// Reset temp variable to empty
$templine = '';
}
}
echo "Tables imported successfully";
?>
希望这会对你有所帮助。 :)
注意:不推荐使用mysql,而是可以使用下面的Mysqli,PDO。
$db = new PDO($mysql_host, $mysql_username, $mysql_password);
$sql = file_get_contents('churc.sql');
$qr = $db->exec($sql);
执行大sql文件我上面的答案是不够的所以我建议你看看@Abu sadat回答here
答案 1 :(得分:-1)
尝试以下事项
在尝试执行命令之前,请执行命令的回显
尝试在终端上运行命令 - 检查是否成功
如果成功,请用一个简单的命令替换你的exec(比如'touch /tmp/abc.txt')并检查文件是否被创建。
通过这样做,您试图找出您的mysql命令是否存在问题,或者php中的exec函数是否存在问题