Я создал резервный скрипт, который выводит файл .sql, который должен иметь возможность восстановить db. При восстановлении базы данных MySql сообщает мне, что с моим синтаксисом что-то не так.Ошибка синтаксиса MySql в строке 1
У вас возникла ошибка в синтаксисе SQL; в руководстве, соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать вблизи «) ENGINE = MyISAM DEFAULT CHARSET = latin1» в строке 1
DROP TABLE category;
CREATE TABLE `category` (
`cat_id` varchar(4) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`cat_name` varchar(15) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`cat_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
файл .sql считывается с помощью этого скрипта
// Read in entire file
$sql_commands_array = file($backup_file);
$file = fopen($backup_file, "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
// Loop through each line
foreach ($sql_commands_array as $current_command)
{
//echo $current_command."test";
// Add this line to the current segment
$current_query .= $current_command;
// If it has a semicolon at the end, it's the end of the query
if (substr(trim($current_command), -1, 1) == ';')
{
// Perform the query
mysql_query($current_query) or print('Error Updating DB'.mysql_error().'<br />');
// Reset temp variable to empty
}
$current_query = '';
}
любые предложения о том, как это решить. Выход CREATE TABLE выполнен с использованием mysql_query ('SHOW CREATE TABLE'. $ Table)
Это создание звонка прекрасно работает здесь. Вы восстанавливаетесь в другой версии MySQL, чем свалка? –
Он находится на другом сервере (тот же веб-хост с другим сервером), оба работают 5.1 – mintuz
Вы пытались выполнить запрос самостоятельно? Я запустил его на моем db и создал таблицу без проблем. Возможно, это другой код в SQL восстановления, который вызывает проблему. – HubblyJubbly