LAMP Acesso local e Externo

Iniciado por Anguz, 26 de Janeiro de 2015, 17:40

tópico anterior - próximo tópico

Anguz

Citação de: irtigor online 27 de Janeiro de 2015, 16:25
Fora a porta que você não especificou, tem mais algum script rodando com os mesmos parâmetros desse mysql_connect? Se tiver coloque new_link=True.

Nota: prefira o MySQLi ou PDO_MySQL http://php.net/manual/en/function.mysql-connect.php

Esse script é único, ta rodando solo.

irtigor

#16
Você rodou o comando mysql no linux né? E as informações são iguais as do script? Se sim dá pra conectar do Ubuntu com os parâmetros especificados, e o mais provável é que o problema esteja do lado do script, como instalou o php?

Obs: prefira a tag code, no lugar do negrito, pra destacar códigos/comandos.

----
Do prompt "mysql>" você pode digitar sql válido, por ex. "show tables;" pra mostrar as tabelas de um bd.

Anguz

Citação de: juarezfranco online 27 de Janeiro de 2015, 18:16
Eu aconselho a fazer comunicação com a classe PDO.


//Constantes para conexão com Servidor
define("PORT","3308");//3306 a padrao
define("DB","database"); //nome do banco de dados
define("END","endereco");//não aconselho  a vc publicar seu endereco para acesso externo do mysql como vc publicou. fica a dica.
define("USER","root");//usuario com permissao para acesso externo
define("PASS","senha");//senha


/*Cria conexão*/
function getConexao(){
$conn = new PDO( 'mysql:host='.END.';port='.PORT.';dbname='.DB.';charset=utf8',USER,PASS);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

return $conn;
}


aqui segue um link com um bom tutorial

http://www.devmedia.com.br/como-conectar-mysql-com-php-via-pdo/30317

Eu faço assim.

Qual deveria ser o retorno? Aqui não ta retornando nada nem no log de erro.

Anguz

Citação de: irtigor online 27 de Janeiro de 2015, 20:24
Você rodou o comando mysql no linux né? E as informações são iguais as do script? Se sim dá pra conectar do Ubuntu com os parâmetros especificados, e o mais provável é que o problema esteja do lado do script, como instalou o php?

Obs: prefira a tag code, no lugar do negrito, pra destacar códigos/comandos.

----
Do prompt "mysql>" você pode digitar sql válido, por ex. "show tables;" pra mostrar as tabelas de um bd.


Sim rodei o comando do linux, por sinal pelo mysql-client(ubuntu) conecta na base kinghost normal, agora via script não ta indo.

Ps: Instalei o lamp(php) automático quando tava instalando o ubuntu. Pode ser alguma configuração do php?

irtigor

O mais provável é que o erro esteja no seu código, depois qualquer outra coisa que seja necessária pra rodá-lo, que não seja usado pelo cliente do mysql.

Anguz

Citação de: irtigor online 28 de Janeiro de 2015, 19:12
O mais provável é que o erro esteja no seu código, depois qualquer outra coisa que seja necessária pra rodá-lo, que não seja usado pelo cliente do mysql.

Acho improvável o mesmo código roda perfeitamente em um server windows.

Ps: Você achou algum erro no código que postei?

irtigor

Citação de: Anguz online 29 de Janeiro de 2015, 15:36
Acho improvável o mesmo código roda perfeitamente em um server windows.

Ps: Você achou algum erro no código que postei?

Fora o que já falei, não. E rodar no windows não descarta nada, porque eu as duas máquinas não estão iguais (for issso).

JuarezFranco

#22
Citação de: Anguz online 28 de Janeiro de 2015, 14:43
Citação de: juarezfranco online 27 de Janeiro de 2015, 18:16
Eu aconselho a fazer comunicação com a classe PDO.


//Constantes para conexão com Servidor
define("PORT","3308");//3306 a padrao
define("DB","database"); //nome do banco de dados
define("END","endereco");//não aconselho  a vc publicar seu endereco para acesso externo do mysql como vc publicou. fica a dica.
define("USER","root");//usuario com permissao para acesso externo
define("PASS","senha");//senha


/*Cria conexão*/
function getConexao(){
$conn = new PDO( 'mysql:host='.END.';port='.PORT.';dbname='.DB.';charset=utf8',USER,PASS);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

return $conn;
}


aqui segue um link com um bom tutorial

http://www.devmedia.com.br/como-conectar-mysql-com-php-via-pdo/30317

Eu faço assim.

Qual deveria ser o retorno? Aqui não ta retornando nada nem no log de erro.

vc precisa de um try catch, para o erro aparecer o erro. Voce precisa fazer uma comunicação com o banco.

um exemplo.

try{
  $conn = getConexao();
  $sql="SELECT id FROM suatabela";
  $result = $conn->query($sql);
  while($row=$result->fetch(PDO::FETCH_OBJ){
       echo $row->id.'<br>';
  }
}catch(PDOException $e){
 echo "Erro: ".$e.getMessage();
}
"Riem de mim por eu ser diferente, e eu rio de vocês por serem todos iguais." - Bob Marley

Anguz

Gente obrigado pela ajuda, consegui descobrir o que estava acontecendo, simplesmente no meu arquivo php.ini estava com
mysql.default_port = 3308

e

mysql.default_socket = (estava setado para meu mysql socket local)

Só foi deixar em branco que resolveu.