Ir para conteúdo

Arquivado

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

JorgitoDF

Selecionar dados através do MySQLi STMT e carregar dentro de um Array

Recommended Posts

Boa tarde pessoal,

 

Estou com uma dúvida em relação a um código, agradeço a quem puder me ajudar a resolver desde já!!!!

 

Quero selecionar dados de um registro do banco de dados passando o Id, carregar o resultado da seleção num array e em seguida ler este array para imprimir os dados na tela. Eu fiz o seguinte código abaixo porém não funciona e nem apresenta nenhuma mensagem de erro. Será que alguém aqui poderia me orientar como fazer este código rodar com sucesso???

$stmt = $conexao->prepare("SELECT * FROM tb_cliente WHERE id_cliente = ? ");
$stmt->bind_param("i", $txt_nome_cliente);
$stmt->execute();
$stmt->bind_result($a, $b, $c, $d, $e, $f);
$stmt->fetch();

$data = array();
	while($stmt->fetch()) {
		$data[] = array("id_cliente" => $a['id_cliente'], "cli_uasg" => $b['cli_uasg'], "cli_cnpj" => $c['cli_cnpj'], "cli_razao_social" => $d['cli_razao_social'], "cli_sigla" => $e['cli_sigla'], "cli_unidade_vinculada" => $f['cli_unidade_vinculada']);
	}
	
			
$dadosCliente = $data;

foreach($dadosCliente as $d) { 

	 echo $d['id_cliente']." - "; 
	 echo $d['cli_uasg']." - "; 
	 echo $d['cli_cnpj']." - ";
	 echo $d['cli_razao_social']." - ";
         echo $d['cli_sigla']." - ";
         echo $d['cli_unidade_vinculada']." - ";
 } 	

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá! Estranho não aparecer nada. Tente dar um var_dump($dadosCliente), e poste o resultado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá! Estranho não aparecer nada. Tente dar um var_dump($dadosCliente), e poste o resultado :)

 

O resultado do var_dump foi este:

 

array(0) { }

se usar o fetch_all() ele já te retorna um array com os dados.

 

Prezado rockrgo, como ficaria o código usando o fetch_all() ??

Compartilhar este post


Link para o post
Compartilhar em outros sites
$stmt = $mysqli->prepare("SELECT id, label FROM test WHERE id = 1");
$stmt->execute();
$res = $stmt->get_result();
$result = $res->fetch_all();

var_dump($result);

http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

 

depois só usar o foreach na $result...isso descartaria seu while!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apareceu a seguinte mensagem de erro:

 

Fatal error: Call to a member function execute() on a non-object in C:\xampp\htdocs\oportunidades\app\model.php on line 303

 

a linha 303 é $stmt->execute();

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.