Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luccafreitas

Extrair Dados

Recommended Posts

Olá, estou criando um site e na parte de "Minha conta" queria colocar as informações da mesma para aparecer, após o login.

Porém, não estou conseguindo mostrar outros dados além no nome de usuário, como e-mail, endereço etc.

<?php

/*** begin the session ***/
session_start();

if(!isset($_SESSION['user_id']))
{
    $message = 'Account';
}
else
{
    try
    {
        /*** connect to database ***/
        /*** mysql hostname ***/
        $mysql_hostname = 'meuhost';

        /*** mysql username ***/
        $mysql_username = 'meuusername';

        /*** mysql password ***/
        $mysql_password = 'minhasenha';

        /*** database name ***/
        $mysql_dbname = 'meudb';


        /*** select the users name from the database ***/
        $dbh = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password);
        /*** $message = a message saying we have connected ***/

        /*** set the error mode to excptions ***/
        $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        /*** prepare the insert ***/
        $stmt = $dbh->prepare("SELECT phpro_username FROM phpro_users 
        WHERE phpro_user_id = :phpro_user_id");

        /*** bind the parameters ***/
        $stmt->bindParam(':phpro_user_id', $_SESSION['user_id'], PDO::PARAM_INT);

        /*** execute the prepared statement ***/
        $stmt->execute();

        /*** check for a result ***/
        $phpro_username = $stmt->fetchColumn();

        /*** if we have no something is wrong ***/
        if($phpro_username == false)
        {
            $message = 'Access Error';
        }
        else
        {
            $message = 'Welcome '.$phpro_username;
        }
    }
    catch (Exception $e)
    {
        /*** if we are here, something is wrong in the database ***/
        $message = 'We are unable to process your request. Please try again later"';
    }
}

?>

Esse é o início do código da página, para conectar com o mysql, fazer login etc.

 

Então eu adiciono esse código: "<?php echo $phpro_username; ?>"

para mostrar o nome de usuário, aparece certinho. Aí quando coloco "<?php echo $phpro_email; ?>" para mostrar o e-mail, fica em branco. Acho que não esta programado para coletar dados como e-mail, mas já tentei de todas as formas fazê-lo e não consegui. Alguém pode me ajudar? :upset:

 

Obrigado :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

se entendi bem, você está querendo exibir dados (não "extrair", isso é outra coisa)

perfeito e correto..
veja que você só está buscando uma coluna no banco:

SELECT phpro_username FROM phpro_users (...)

 

e só está recuperando essa mesma coluna em php:

$phpro_username = $stmt->fetchColumn();

 

para trabalhar com mais colunas você deve declará-las na sql
ex:

select nome, endereco, telefone, email from clientes;

p/ depois recupera-las, por exemplo, com um "prepared statment", mas ai é PDO.
+ detalhes:

http://www.linhadecodigo.com.br/artigo/2975/comandos-basicos-em-sql-insert-update-delete-e-select.aspx
http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspx
http://www.devmedia.com.br/introducao-ao-php-pdo/24973
http://www.rafaelwendel.com/2011/12/tutorial-pdo-php-data-object/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso, exibir rs.

 

Obrigado pela ajuda, consegui exibir o email!

 

O problema é que exibe o do primeiro da lista, no caso do primeiro usuário, teria que ser do usuário que esta Logado, como posso fazer isso?

 

O trecho do código que coleta os dados do email é este:

$phpro_email = isset($_GET['phpro_email']) ? $_GET['phpro_email'] : "";	
		
		$query = "SELECT phpro_email FROM phpro_users";

        /*** bind the parameters ***/
        $stmt->bindParam('phpro_user_id', $_SESSION['user_id'], PDO::PARAM_INT);
		
		//
		$stmt = $con->prepare($query);
		$stmt->execute();
		
		/*** check for a result ***/
        $phpro_email = $stmt->fetchColumn();

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.