Jump to content


nadoweb

Member Since 08/12/2006
Offline Last Active 14/09/2008, 22:58
-----

Topics I've Started

Restaurar Backup Do Mysql 3.23.49 Para O Mysql 5.0.51a

14/09/2008, 22:59

Boa tarde Galera!
Estava andando muito desatualizado com meu Apache, PHP MySQL e resolvi atualizá-los. Daí fiz o backup de todos meus bancos de dados um a um usando o comando:
mysqldump -u root -p -h 127.0.0.1 banco > banco20080914.sql

Só que meu MySQL antes era o 3.23.49 (cliente API encontrado no phpinfo). E agora estou com o MySQL 5.0.51a.

Para vocês terem uma ideia eu tentei restaurar no MySQL 5 o banco agenda20080914.sql o código do arquivo de backup é o seguinte:

--INICIO DO BACKUP
-- MySQL dump 9.11
--
-- Host: 127.0.0.1 Database: agenda
-- ------------------------------------------------------
-- Server version 4.0.21-nt

--
-- Table structure for table `calendario`
--

CREATE TABLE calendario (
id int(11) NOT NULL auto_increment,
codusuario int(11) NOT NULL default '0',
dia varchar(50) NOT NULL default '',
mes varchar(50) NOT NULL default '',
ano varchar(50) NOT NULL default '',
assunto varchar(255) NOT NULL default '',
categoria char(1) NOT NULL default '',
local varchar(255) NOT NULL default '',
descricao longtext NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;

--
-- Dumping data for table `calendario`
--

INSERT INTO calendario VALUES (1,0,'10','10','2007','Teste de Evento','6','Forró Gorró','São João 2007');

--FIM DO BACKUP

Crie o BD agenda em meu novo MySQL, coloquei o arquivo de backup no meu novo diretório BIN para poder restaurá-lo e executei o comando de restauração:
mysql -u root -p -h 127.0.0.1 agenda < agenda20080914.sql

E retornou o erro:

ERROR 1366 (HY000) at line 28: Incorrect string value: '\xE3o Jo\xE3...' for columm 'descricao' at row 1

Gostaria que você me ajudassem se tem algum código MySQL especifico para garantir a compatibilidade na restauração do backup? Qualquer luz para meu caminho será bem vinda (risos).

Isso deve ser um entrave para pessoal que querem atualizar seu programas e espero que vocês me ajudem para que eu tenha que voltar para meus programas desatualizados.

Obrigado.




Consegui resolver, o meu novo MySQL ficou configurado como utf8_unicode_ci e na hora de restaurar ele não reconhece caracteres especiais como á ã ç e etc.

Dai tive que mudar tudo manualmente, ainda bem que tenho a opção substituir em meu editor.

Obrigado a todos e ai fica a dica.

For Não Grava No Bd Vindo Do Form[resolvido]

06/09/2008, 16:49

Boa tarde Galera!
Preciso da ajuda de vocês. Estou fazendo uma tabela relativamente simples. Porém ele precisa gravar vários registro de dados vindo do uma FORM.

A estrutura da tabela é a seguinte:

CREATE TABLE `ao_vivo` (
`ID_Aovivo` int(11) NOT NULL auto_increment,
`ID_Equipe` int(11) NOT NULL default '0',
`ID_Programacao` int(11) NOT NULL default '0',
`ID_Dia` char(2) NOT NULL default '',
`Hora` varchar(5) NOT NULL default '',
PRIMARY KEY (`ID_Aovivo`)

Dai tenho o arquivo de conexao:
conexao.php

<?php
$conexao = mysql_connect("localhost", "root", "") or die("Configura&ccedil;&atilde;o de Banco de Dados errada!");
$db = mysql_select_db("testeaovivo") or die("Banco de Dados inexistente!");
?>

Esta é a página do FORM:
for_form.php
<html>
</head>
<title>For Formulário</title>
</head>

<body>
<form method="POST" action="for_cadastrar.php" name="registro" id="registro">
<input type="hidden" name="id_programa" value="14">
<input type="hidden" name="id_dia" value="1">
<input type="hidden" name="id_locultor" value="3">
<input type="hidden" name="quantidade" value="5">
<?php
for ( $i = 1; $i <=5; $i++){
echo "Horário: <input type=\"text\" id=\"hora".$i."\" name=\"hora".$i."\" size=\"12\" maxlength=\"5\" value=\"\"><br><br>\n";
}
?>
<input type="submit" name="enviar" value=" Enviar ">
</form>
</body>
</html>

Está é a página que é para gravar na tabela
form_cadastrar.php

<html>
</head>
<title>For Enviar</title>
</head>

<body>

<h1>FOR VISUALIZAR DADOS</h1>
<i>Exibindo somente os dados recuperados</i>
<br>
<?php
for ( $i = 1; $i <=5; $i++){

$valores[$i] = $_POST["hora".$i.""];
echo "valores digitados: <b>$valores[$i]</b><br>";
}
?>
<br><br>

<h1>FOR CADASTRAR</h1>
<i>Cadastra os valores em registro da tabela <b>ao_vivo</b></i><br><br>
<?php

$id_programa = $_POST["id_programa"];
$id_dia = $_POST["id_dia"];
$id_locultor = $_POST["id_locultor"];

for ( $i = 1; $i <=5; $i++){

$valores[$i] = $_POST["hora".$i.""];

include "conexao.php";
$sql[$i] = "INSERT INTO ao_vivo(ID_Equipe,ID_Programacao,ID_Dia,Hora)VALUES($id_locultor,$id_programa,$id_dia,$valores[$i])";
$query[$i] = mysql_query($sql[$i]) or die (mysql_error());
mysql_close($conexao);

echo "<b>valores cadastrados: $valores[$i]</b><br>\n";
}
?>
<br><br>


</form>
</body>
</html>

Pois é pessoal. Como vocês mesmos podem ver o FOR funciona tranquilo para visualizar os dados. Mas eu quero é grava-los na tabela. Como posso fazer isso?

Obrigado.

IPB Skin By Virteq