Jump to content


Photo

[resolvido] php5 + Mysql4


  • Faça o login para participar
2 replies to this topic

#1 Evandro Abu Kamel

Evandro Abu Kamel

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 13/06/2009, 17:00

Olá pessoal.

Estava eu, tranqüilamente desenvolvendo um site em PHP5 e MySQL5 usando a classe ADOdb pra PHP.
Está tudo funcionando perfeitamente no meu localhost.
Mas quando fazer a migração para o host, surgiram alguns erros de conexão ao banco de dados, e quando fui ver, o host usa PHP5 e MySQL4. E agora?!?

Eu não sei programar em PHP5 e MySQL4. :huh:
O que deve mudar no código?

Agradeço.

Edição feita por: Evandro Abu Kamel, 14/06/2009, 15:01.


#2 Dudu

Dudu

    Viva la vida

  • Usuários
  • 1437 posts
  • Sexo:Masculino
  • Localidade:Uberlândia - MG
  • Interesses:PHP

Posted 13/06/2009, 17:04

Na verdade, o que pode estar dando conflito é a classe ADOdb.
Talvez ela esteja sendo programada para o MySQL5.

Houve algumas mudanças do MySQL 4 para o 5, como adesão de novas funções, alteração de algumas funções.


Mas a questão de conexão, etc, no PHP não mudou nada, da mesma forma que conectava no 5, você conecta no 4.
O que pode ter mudado, são algumas sintaxes SQL.

Mas eu acredito que o problema esteja na classe mesmo.
Até mais.

Edição feita por: Dudu, 13/06/2009, 17:05.

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador


Twitter: HostCheap


#3 Evandro Abu Kamel

Evandro Abu Kamel

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 14/06/2009, 14:54

Abaixo segue o trecho de código da classe ADOdb responsável pela conexão ao MySQL.
Pode dar uma olhada, ver o que tem de errado?

A mensagem de erro é:

Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /home/prosegbh/www/teste/config/adodb5/drivers/adodb-mysql.inc.php on line 358



// returns true or false
function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
{
	if (!empty($this->port)) $argHostname .= ":".$this->port;
		
	if (ADODB_PHPVER >= 0x4300)
		$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,
										$this->forceNewConnect,$this->clientFlags);
	else if (ADODB_PHPVER >= 0x4200)
		$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword,
										$this->forceNewConnect);
	else
		$this->_connectionID = mysql_connect($argHostname,$argUsername,$argPassword);

	if ($this->_connectionID === false) return false;
	if ($argDatabasename) return $this->SelectDB($argDatabasename);
	return true;	
}

// returns true or false
function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
{
	if (!empty($this->port)) $argHostname .= ":".$this->port;
		
	if (ADODB_PHPVER >= 0x4300)
		$this->_connectionID = mysql_pconnect($argHostname,$argUsername,$argPassword,$this->clientFlags);
	else
		$this->_connectionID = mysql_pconnect($argHostname,$argUsername,$argPassword);
	if ($this->_connectionID === false) return false;
	if ($this->autoRollback) $this->RollbackTrans();
	if ($argDatabasename) return $this->SelectDB($argDatabasename);
	return true;	
}

function _nconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
{
	$this->forceNewConnect = true;
	return $this->_connect($argHostname, $argUsername, $argPassword, $argDatabasename);
}

Obrigado pela ajuda.

CONSEGUI!!!!!!!!!!!! :D

O erro estava no host, no phpMyAdmin tinha o endereço correto do host.

Muito obrigado!

Edição feita por: Evandro Abu Kamel, 13/06/2009, 17:29.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq