Página 1 de 3 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1
    Lili
    Visitante

    Padrão Problemas ao conectar php com mysql

    Olá a todos, por favor alguém me ajude......

    Estou com um problema no momento de conectar com o banco de dados Mysql usando PHP, está dando o seguinte erro:

    Fatal error: Call to undefined function: mysql_connect() in /var/www/html/te1.php on line 2.

    Obs.: o mesmo código em PHP em máquinas windows está funcionando OK.

    O código é o seguinte:
    <?
    $cn = mysql_connect("localhost","usuário","senha&quot<IMG SRC="images/forum/icons/icon_wink.gif"> or die("Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador&quot<IMG SRC="images/forum/icons/icon_wink.gif">;

    mysql_select_db("genetica",$cn) or die("Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador&quot<IMG SRC="images/forum/icons/icon_wink.gif">;

    $sql = mysql_query("insert into proteinas (codigo, nome) values (&acute;$cod&acute;, &acute;$nome&acute&quot<IMG SRC="images/forum/icons/icon_wink.gif">;
    mysql_close($cn);
    ?>

    Já me falaram pra colocar @ no mysql_connect, mas não funcionou(o erro desapareceu mas o banco não atualiza).

    Estou usando o Conectiva Linux 8, PHP4, Apache1.3.22 e Mysql 3.23.46, no Mysql estou conseguindo criar bd, tabelas, alterar tudo Ok (por linha de comando), tb consigo rodar código PHP sem banco de dados.

    Alguém saberia me responder o que está acontecendo?


    <IMG SRC="images/forum/icons/icon_frown.gif">

  2. #2
    Seijuurou
    Visitante

    Padrão Problemas ao conectar php com mysql

    Só uma dúvida, vc instalou o pacote chamado php-mysql?

  3. #3
    Mr_Mind
    Visitante

    Padrão Problemas ao conectar php com mysql

    duas coisas cara Lili!

    1º.: o PHP vem compilado de raiz com suporte a MySQL mas vc podera&acute; ter que o obrigar a carregar o modulo editando o seu php.ini e adicionar a extensao mysql.so;
    2º.: o mais provavel e&acute; que o seu MySQL não esteja a abrir a socket! ponha o MySQL a correr e xecute um portscanner na sua máquina para ver se a porta correspondente ao MySQL se encontra aberta. se não tiver, vc vai ter editar o script de inicialização do MySQL e colocar no comando o parametro para abrir a socket/escutar na porta!

    Abraço <IMG SRC="images/forum/icons/icon_wink.gif">

  4. #4
    Visitante

    Padrão Problemas ao conectar php com mysql

    Quando instalei o CL8, fiz a instalação com a opção de todos os pacotes, depois só configurei o Mysql e o Apache.
    O mysql está funcionando OK.
    O PHP tb está OK.
    O problema é conectar o PHP com o Mysql.

  5. #5
    Visitante

    Padrão Problemas ao conectar php com mysql

    Teria como vc me explicar melhor como eu faço essa configuração?
    Não tenho experiência nenhuma com Mysql.
    Como faço pra fazer esse lance de porta???!

  6. #6
    Mr_Mind
    Visitante

    Padrão Problemas ao conectar php com mysql

    <TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE>
    On 2002-11-07 11:43, Anonymous wrote:
    Quando instalei o CL8, fiz a instalação com a opção de todos os pacotes, depois só configurei o Mysql e o Apache.
    O mysql está funcionando OK.
    O PHP tb está OK.
    O problema é conectar o PHP com o Mysql.
    </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE>

    vc tem a certeza que a socket esta a escutar?? verifique por favor!!
    mostre aqui o resultado de um nmap por exemplo <IMG SRC="images/forum/icons/icon_wink.gif">

  7. #7
    Mr_Mind
    Visitante

    Padrão Problemas ao conectar php com mysql

    no mysqld acrescente o parametro --port=<porta_do_mysql>, que geralmente e&acute; a 3306
    vc pode procurar tb em /etc/my.cnf ou no directorio onde este ficheiro se encontra e edita-lo de forma a abrir a escutar na porta por ligações.

    um abraço <IMG SRC="images/forum/icons/icon_wink.gif">

  8. #8
    Visitante

    Padrão Problemas ao conectar php com mysql

    Acrescentei a linha no arquivo my.cnf, e não funcionou...já não sei mais o que pode ser....alguém me jude por favor!!!!

  9. #9
    Mr_Mind
    Visitante

    Padrão Problemas ao conectar php com mysql

    ermm ...
    leia isto -> http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Configuring_MySQL

    parece-m que realmente o seu problema e&acute; mesmo a porta que nao esta&acute; aberta. ja pedi que fizesse um portscanner no seu servidor MySQL. faça assim na consola: nmap localhost e poste aqui o resultado.

    <IMG SRC="images/forum/icons/icon_biggrin.gif">

  10. #10
    Lili
    Visitante

    Padrão Problemas ao conectar php com mysql

    Veja o resultado.... ..nmap localhost:

    Starting nmap V. 2.54BETA30 ( www.insecure.org/nmap/ )
    Interesting ports on localhost.localdomain (127.0.0.1):
    (The 1545 ports scanned but not shown below are in state: closed)
    Port State Service
    80/tcp open http
    111/tcp open sunrpc
    443/tcp open https
    6000/tcp open X11

    Nmap run completed -- 1 IP address (1 host up) scanned in 1 second

    O que isso quer dizer?
    Pelo jeito todas as portas estão abertas.
    E agora o que eu faço?

    Obrigada!!!



  11. #11
    B4D_D0G
    Visitante

    Padrão Problemas ao conectar php com mysql

    Caro Amigo Mr_Mind,
    Veja que a resposta de nossa carissima colega, éh basicamente ....
    o MySQL dela não "esta a correr" <IMG SRC="images/forum/icons/icon_wink.gif">

    Carissima Lili, quando vc acessa o MySQL o que vc digita?

    ve levanta o banco antes de experimentar o PHP?
    <IMG SRC="images/forum/icons/icon_smile.gif">

  12. #12
    Valhalla
    Visitante

    Padrão Problemas ao conectar php com mysql

    Me parece que seu Mysql não está carregado, de um stop start nele e veja se ele continua carregado.

  13. #13
    Lili
    Visitante

    Padrão Problemas ao conectar php com mysql


    Acho que o mysql está funcionando OK, já que consigo realizar qualquer operção no banco através da linha de comando!

  14. #14
    Mr_Mind
    Visitante

    Padrão Problemas ao conectar php com mysql

    cara colega, tal como eu suspeitava ..!! seu mysql nao esta&acute; a escutar na porta.
    antes demais, um pouco de teoria. um serviço como mysql, httpd, etc, como nos os conhecemos e usamos, correm sobre um protocolo designado TCP/IP. para estabelecer ligaçoes entre um serviço e um cliente e&acute; necessário que haja no servidor algo que "escute" quando um cliente "pede" um serviço
    Ai entram as portas! Neste caso voce tera&acute; de ter o mysql a escutar na porta 3306, que e&acute; a porta default do MySQL! Ele neste momento so&acute; esta&acute; a escutar para o localhost nao abrindo quaisquer socket para a rede ou internet.

    atente agora no seguinte:
    80/tcp open http -> voce tem um servidor web a correr
    111/tcp open sunrpc -> voce tem o rpc a correr
    443/tcp open https -> voce tem um servidor web seguro a correr (HTTPS)
    6000/tcp open X11 -> voce tem um servidor X a correr, ou seja esta usando um ambiente grafico!

    mas e onde esta&acute; o MySQL?!?!?!?!?!
    pelo que estou a ver não estas muito à vontade com ambientes de rede e serviços! mas como te disse em posts anteriores teras de configurar o teu MySQL para abrir a socket!
    no script que inicia o mysql acrescente o parametro --port=<porta_do_mysql>, que geralmente e&acute; a 3306.vc pode procurar tb em /etc/my.cnf ou no directorio onde este ficheiro se encontra e edita-lo de forma a abrir a escutar na porta por ligações.
    RECOMENDO a leitura atenta do manual de administração do MySQL!!!

    boa sorte <IMG SRC="images/forum/icons/icon_wink.gif">

    P.S.: não precisas de entrar em pânico, e&acute; so&acute; uma questão de ler um pouco, perceber como as coisas funcionam e o resto e&acute; sem problemas <IMG SRC="images/forum/icons/icon_biggrin.gif">

  15. #15
    B4D_D0G
    Visitante

    Padrão Problemas ao conectar php com mysql

    sim, mas observe a minha saida do comando nmap localhost

    Port State Service
    21/tcp open ftp
    22/tcp open ssh
    25/tcp open smtp
    80/tcp open http
    110/tcp open pop-3
    3306/tcp open mysql

    note esta ultima linha aki meu mysql esta a correr, na sua saida consta esta linha, pois C não constar o mysql não esta sendo executado...

    dê uma olhada novamente...
    <IMG SRC="images/forum/icons/icon_wink.gif">

  16. #16
    Mr_Mind
    Visitante

    Padrão Problemas ao conectar php com mysql

    caros colegas .. o MySQL da nossa colega lili esta&acute; a correr e de boa saúde! simplesmente, e tal como outros serviços instalados à RPM, eles nao escutam nao abrem a socket para a rede mas so para o localhost!

  17. #17
    Mr_Mind
    Visitante

    Padrão Problemas ao conectar php com mysql

    b4d_d0g: eu posso ter o meu MySQL a correr e de saude sem que ele esteja aberto para o exterior! tal como postgresql ou outro serviço qualquer!
    <IMG SRC="images/forum/icons/icon_wink.gif">

  18. #18
    B4D_D0G
    Visitante

    Padrão Problemas ao conectar php com mysql

    naum como se procede no conectiva, mas no slack, é preciso configurar um script de inicialização, que contem apenas a execução do comando:

    /usr/bin/safe_mysqld

    este é o comando que poem a correr o daemon do mysql, Lili: tente executar este comando...verifique se ele se manteve na escuta, e experimente o PHP, poste para mim a resposta....

    agora, diginíssimos colegas vou embora!!!
    fui <IMG SRC="images/forum/icons/icon_wink.gif">

  19. #19
    Seijuurou
    Visitante

    Padrão Problemas ao conectar php com mysql

    Calma Lili

    Faça o seguinte:

    Digite: ntsysv
    procure uma linha onde está escrito mysql e certifique-se q ela está marcada com [ * ]
    Dê OK e saia
    Vá até /etc/init.d
    Digite: ./mysqld
    Veja se aparece algum OK
    Tente executar de novo seu script

  20. #20
    Lili
    Visitante

    Padrão Problemas ao conectar php com mysql

    Vejam o meu arquivo my.cnf como está configurado:

    [mysql.server]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock

    [mysqladmin]
    socket=/var/lib/mysql/mysql.sock

    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    port=3306

    [mysql]
    socket=/var/lib/mysql/mysql.sock

    ....o que há de errado com ele???