Bank data return to PHP page not returning data

0

Good morning, guys.

I have a page (index.php) that needs to return the database data to it. I have a .php (connection.php) that connects to the database, see:

$_SG['servidor'] = 'localhost';    // Servidor MySQL
$_SG['usuario'] = 'root';          // Usuário MySQL
$_SG['senha'] = 'XXXX';                // Senha MySQL
$_SG['banco'] = 'projetoqa';            // Banco de dados MySQL
$_SG['paginaLogin'] = '../login.php'; // Página de login
$_SG['tabela'] = 'usuarios';       // Nome da tabela onde os usuários são salvos
// ==============================
// ======================================
//   ~ Não edite a partir deste ponto ~
// ======================================
// Verifica se precisa fazer a conexão com o MySQL
if ($_SG['conectaServidor'] == true) {
  $_SG['link'] = mysql_connect($_SG['servidor'], $_SG['usuario'], $_SG['senha']) or die("MySQL: Não foi possível conectar-se ao servidor [".$_SG['servidor']."].");
  mysql_select_db($_SG['banco'], $_SG['link']) or die("MySQL: Não foi possível conectar-se ao banco de dados [".$_SG['banco']."].");
}
// Verifica se precisa iniciar a sessão
if ($_SG['abreSessao'] == true)
  session_start();

The connection I know is OK, since I already used another function of the code to insert content in it. However, on the index.php page where I need to display results, I can not. See the code:

<?php

        // Inclui o arquivo com o sistema de segurança
        require_once("php/conexao.php");

        // executa a query 
        $busca = "SELECT titulo FROM questoes";

        $resultado = mysql_query($busca);

        // Encerra a conexão
        mysql_close();
    ?>

And the place where the result should be displayed:

<li><a href="#"><?php $resultado ?></a></li>

Go blank only! Nothing appears. What is the problem with this case? I looked at some forums and other methods of how to perform the search, I could not find. The data in question that returns there, is just a title. For example "How to play video games?"

Thank you!

    
asked by anonymous 31.08.2015 / 16:14

2 answers

1

Hello, first of all I would like to recommend a PHP update for a recent and stable version. Currently, almost no one else uses MySQL because it has been officially deprecated and is unsafe, recommending MySQLi .

Response

<?php

//Login do SQL
DEFINE("HOST", "localhost"); 
DEFINE("USR", "usuario");
DEFINE("PWD", "senha");
DEFINE("BD", "banco_de_dados");
// Ou $db = array("host"=>"localhost", "usr"=>"usuario", "pwd"=>"senha", "bd"=>"banco_de_dados");
// Ou $host = "localhost"; $usr = "usuario"; $pwd = "senha"; $bd = "banco_de_dados";

//Conexao
$conexao = mysqli_connect(HOST, USR, PWD, BD);
// $conexao = mysqli_connect($db["host"], $db["usr"], $db["pwd"], $db["bd"]);
// $conexao = mysqli_connect($host, $usr, $pwd, $bd);


if(mysqli_connect_errno()){
    //Encerra a conexao e mostra a mensagem com o erro  
    die("Erro: " . mysqli_connect_error());
}

// Preparo da consulta SQL

$sql = mysqli_query($conexao, "SELECT x FROM z");
if(!$sql){
    die("Erro: zzz");
}
//Looping para retornar os valores
while($resultado = mysqli_fetch_assoc($sql)){
    // Ou echo "Nome: " . $resultado["nome"];   
    ?>
    <!--
    Algum HTML aqui
    ex.:
    !-->
    <b>Nome: </b><?php echo $resultado["nome"]; ?>

    <?php
}

mysqli_free_result($sql);

mysqli_close($conexao);

?>

OBS: Alguns dos comentários que inseri no código, são possíveis alternativas de como poderias escrever o código, apesar de ainda existirem várias outras que não coloquei.

Another thing is that, before trying to return the result of a query with echo , you should first tell PHP how to select, and which results to select, using the function with prefix mysqli_fetch_[aqui_o_metodo] , and can select only 1 set of values, or even all existing value sets using looping and / or SQL syntax.

And above all, excuse laziness, and ignorance on my part, but I preferred to write a code similar to yours, than trying to understand yours: /

PHP.NET - Here you can find several examples, and recommended ways to use some functions.

There are also web sites that talk about and recommend ways to write SQL queries.

Here in StackOverflow there are also several questions that have been answered that can help you.

    
31.08.2015 / 17:00
1

You must use a loop to display the query data.

First, make sure your query is actually correct.

if (!$resultado ) {
    //se a consulta está incorreta, mostra erro
    die( "Erro na consulta: " . mysql_error() );<br>
}else{
    //você precisa utilizar um laço para pegar os resultados desta query
    //porque o metodo mysql_query() traz outros atributos além dos dados do banco 
    while ($row = mysql_fetch_assoc($result)) {
        //echo $row['campoDoBanco'];
   }
}
    
31.08.2015 / 16:38