1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ligação Mysql PHP

Discussão em 'Web Development' iniciada por sparkT, 28 de Outubro de 2012. (Respostas: 16; Visualizações: 1961)

  1. Boas pessoal

    Estou a tentar fazer a ligação de uma base de dados mysql a php com consulta mas não estou a conseguir.

    A base de dados 'teste' tem duas colunas 'teste1' e 'teste2' com duas linhas de dados.

    <?php
    $conexao = mysql_connect("localhost", "root") or die (mysql_error());
    $db = mysql_select_db("teste", $conexao) or die ('Não foi possivel selecionar o banco de dados');
    $sql = "select teste1 from teste";
    $qr = mysql_query($sql);
    while ($row = mysql_fetch_array($qr)){
    echo $row['teste1'];
    }
    ?>

    Será que me podiam dizer o que estou a fazer mal?
    Já tentei pesquisar exemplos e já testei varios mas nenhum quer funcionar. Será que alguem podia-me dar umas breves explicações do assunto também?

    Obrigado
     
  2. ixjf

    ixjf Power Member

    Penso que é isto que queres.

    O que estavas a fazer errado:

    - Não passaste o argumento de password.
    - A string de consulta está errada, `teste1` deve ser uma tabela e não uma coluna. Uma consulta de SELECT deve ser do seguinte modo: "SELECT LISTA_DE_COLUNAS_SEPARADO_POR_VIRGULAS FROM TABELA_QUE_ESTA_NA_BASE_DE_DADOS_SELECIADA [WHERE ALGUMA_COLUNA_DA_TABELA = ALGUM_VALOR_QUE_DEVERAS_PASSAR]". Exemplo: "SELECT `id` FROM `lista_de_usuarios`" - Pede a lista de valores da coluna `id`na tabela `lista_de_usuarios` | "SELECT `name` FROM `lista_de_usuarios` WHERE `id` = 2 LIMIT 1" - Pede o valor da coluna `name` ( que deverá ser o nome de usuário ) da tabela `lista_de_usuarios` onde o valor de `id` ( o ID do usuário, que podia ser auto-criado no registro, por exemplo ) é 2 e limita o número rows que deverão ser enviados para 1.
    - Existe um segundo argumento na função mysql_query que é o resource da conexão.
     
    Última edição: 29 de Outubro de 2012
  3. Boas, agradeço imenso a tua ajuda. Nã coloquei passe porque não tenho :) Já corrigi como disseste mas continua a dar mal, a pagina fica em branco, não dá erros nem nada, acho que o problema é mesmo no mostrar os dados :/ <html>
    <head>
    <title> Informática e Manutenção </title>
    </head>
    <body>
    <?php
    $dbConexao = mysql_connect( "localhost", "root", "" ) or die( mysql_error() );
    if (!mysql_select_db( "teste", $dbConexao ))
    die( "Não foi possível conectar no banco de dados `teste`" );
    $dbQuery = mysql_query( "SELECT * FROM dados", $dbConexao );
    if (!$dbQuery)
    die( "Não foi possivel fazer a consulta no banco de dados!" );
    if (!mysql_num_rows( $dbQuery ) > 0)
    while ($row = mysql_fetch_array( $dbQuery ))
    {
    echo $row['coluna1'];
    }
    mysql_close( $dbConexao );
    ?>
    </body>
    </html> Obrigado pela ajuda
     
  4. Boas, já consegui. Em mysql_num_rows tinhas negação (!), ficou a funcionar :) finalmente... Como teste tenho 2 colunas e 3 linas. Coluna 1 (132,126,142), coluna 2 (125,123,213). O resultado da consulta doi 123126142. Se alguém tiver o mesmo problema basta colocar um "<br/>" concatenado no echo que resolve o problema. echo $row['coluna1']."<br/>"; Será que podes explicar-me o ciclos utilizado e as funções? principalmente o segundo if e as funções mysql_... ? Obrigado pela ajuda
     
    Última edição: 28 de Outubro de 2012
  5. ixjf

    ixjf Power Member

    My mistake.. Que bom que funcionou :)
     
  6. Outra questão.

    Estou a elaborar uma base de dados de gestao de stocks, mas estou a utilizar junto com o php para facilitar a interação. Terei uma pagina inicial em que os utilizadores possam introduzir o seu username e password, este formulario estará ligado a uma tabela na base de dados com os utilizadores, depois irá para a página de gestão.
    A minha duvida é, poderei fazer o tratamento dos formularios na mesma pagina em que estao os mesmos? Tipo, na primeir pagina tenho os formularios e o tratamento deles, se tiver ok salta para a pagina de gestao, senão é mostrado uma mensagem logo abaixo dos campos de login a dizer que as credenciais estao erradas.

    Será que me podiam dar algum codigo que exemplificasse e funcionasse? algo muito simples

    Obrigado :)
     
  7. ixjf

    ixjf Power Member

    É possivel sim, usando JavaScript. Não te posso mostrar um exemplo porque nunca aprofundei em JS, só sei o básico mesmo.
     
  8. hum usando so php não dá? :/
     
  9. Boas, o facto de não usares apenas php até terá vantagem, na medida em que te permitirá fazer uma validacão de campos preenchido p.e.

    Em relação à tua pergunta fazer isso em JS (e p.e. em jQuery) é muito simples vê este exemplo:

    <form id="form_login" name="form1" action="init_login.php" method="post">

    <label for="username">username:</label>
    <input type="text" name="username" id="username" />

    <label for="password">password: (demo)</label>
    <input type="password" name="password" id="password" />

    <input type="submit" id="submit_form" name="submit_form" />

    </form>

    <script type="text/javascript">
    $(document).ready(function() {

    $("#submit_form").click(function() {

    var action = $("#form_login").attr('action');
    var form_data = {
    username: $("#username").val(),
    password: $("#password").val(),
    is_ajax: 1
    };

    $.ajax({
    type: "POST",
    url: action,
    data: form_data,
    success: function(response)
    {
    if(response == 'TRUE')
    alert('Bem-vindo : user OK!');
    else
    alert('Bem-vindo : user KO!');
    }
    });

    return false;
    });

    });
    </script>

    _______________________________________________________

    E básicamente apenas tens de criar um página (que eu dei o nome de: init_login.php) que agarre nos parametros que vem por post e os compare contra a BD, e devolva TRUE / FALSE

    Qualquer dúvida...
     
    Última edição: 31 de Outubro de 2012
  10. Sidner

    Sidner Power Member

    Não aconselho usar só validação em javascript, porque este, como corre no browser do user, pode ser desligado e lá se vai a validação. Convém ter sempre php por trás. E não é difícil.
     
  11. Isso é verdade, mas também ninguém falou em ter só validação por javascript. Até porque a questão é outra e bem distinta. O que eu disse foi que o que o sparkT poderia usar JS para atingir o comportamento que pretendia e ao mesmo tempo introduzir uma mais valia que seria a validação p.e. de campos vazios.
     
  12. Boas pessoal


    Agradeço imenso a ajuda. Infelizmente nao consegui utilizar javascript pois tive poucas aulas disse, o que fiz, e que me pareceu mais rapido e pratico foi utilizar o formulario entro de uma tabela e reservar a ultima linha para o php, quando as credenciais sao erradas a mensagem é mostrada lá, como a lista está lá criada, não faz quebras, utilizei um &nbsp para ficar sempre ativa a linha Obrigado pela ajuda :D

    Outra questão, a minha pagina tem uma opção de recuperação de email. Será que conhecem alguma forma de enviar emails utilizando o xampp? Já utilizei o mail ( ) mas não funciona. E queria uma função versátil porque as pessoas podem utilizar emails @hotmail.com @sapo.pt @yahoo.br... entre outros e não sempre fixo.

    Obrigado pela ajuda, que sem sido excelente.

    cumps
     
  13. Outra questão, por acaso sabem um bom livro de php em portugues? que seja mesmo bom :) já comprei um de java da fca e mais nao digo... nao valeu nada.
    Se for em ingles pois... ei de dar um geito e tentar perceber :)

    Obrigado

    cumps
     
  14. Sidner

    Sidner Power Member

    Sinceramente, gostei do de php da FCA. :P E o de java passou-me à cadeira de Complementos de Programação e Algoritmos. xD

    Bom, quanto ao mail não dar... Podes sempre fazer autenticação por SMTP e mandar por lá, se o sitio onde tens o site alojado o permitir (o esotérica.pt só permite enviar para o próprio servidor SMTP deles).
     
  15. Hum qual o titulo do teu de java? O meu tem imensos exercicios que nao compilam, erros de programação, erros de portugues, temas mal abordados e explicados, só palha lol.

    Pois eu vi esse, tens o ja utilizaste? achas que vale o preço? Pelo indice parece ser bom mas o outro tmb pareceu-me e foi o que foi xD

    http://www.fca.pt/cgi-bin/fca_main.cgi/?op=2&isbn=978-972-722-341-1

    quanto ao site, vai ficar alojado mesmo no computador, é uma forma simples de interagir com uma base de dados, nada para colocar online, apenas local.

    obrigado

    cumps
     
  16. Boas, em relação à tua primeira questão, e se eu percebi bem o que pretendias, tens PHPmailer (http://code.google.com/a/apache-extras.org/p/phpmailer/).
    Em relação à segunda questão aqui ficam as minhas sugestões, http://www.amazon.co.uk/Cookbook-Co...=sr_1_1?s=books&ie=UTF8&qid=1351976878&sr=1-1 e http://www.amazon.co.uk/PHP-MySQL-B...1?s=aps&ie=UTF8&qid=1351976852&sr=1-1-catcorr.
    Sei que pediste em PT mas, sinceramente e nacionalismos à parte, o inglês vai dar-te uma rodagem maior. Abrindo as portas a grupos de discussão em inglês, p.e.

    Cumprimentos
     
  17. Boas, obrigado pelas vossas respostas.

    E o tal de php que referi, existe alguem com algo positivo a respeito?

    Obrigado,

    cumps
     

Partilhar esta Página