Ir para conteúdo

Arquivado

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

digomasters

Erro PDO

Recommended Posts

Olá pessoal,

sou novo no PDO, e tô tendo o seguinte problema

Notice: Undefined variable: conexao in C:\xampp\htdocs\bluecrud\index.php on line 7

Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\bluecrud\index.php on line 7

Segue os codigos conexao.php

	error_reporting(E_ALL);
	$host = "localhost";
	$user = "root";
	$pass = "";
	$db = "bluecrud";
	
	$dsn = "mysql:host=".$host.";dbname=".$db;
	try{
		$conexao = new PDO($dsn,$user,$pass);
		$conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		return $conexao;
	} catch(PDOException $error){
		echo "Erro ao conectar com o banco de dados: ".$error->getMessage();
	}

index.php

<?php
	//Development by Rodrigo Cabral Guimarães
	include_once("arquivos/conexao.php");
	include_once("arquivos/info.php");
	function listar_galerias(){
		try{
			$listar = $conexao->query("SELECT * FROM galeria");
			$listar->execute();
			
			if($listar->rowCount() > 0){
				return $listar->fetchAll(PDO::FETCH_OBJ);
			}else{
				echo "Não a galerias cadastradas";
			};
		}catch(PDOException $error){
			echo "Erro ao listar galerias ".$error->getMessage();
		};
	}
?>
<!-- DENTRO DO BODY -->
<?php
	$galerias = listar_galerias();
	echo $galerias->gal_nome;
?>

Alguém ai pode ajudar, não consigo resolver.

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é recomendado passar a conexão dentro das funções

 

Mais vê se funciona

 

function listar_galerias($conexao){
...

 

...
$galerias = listar_galerias($conexao);
...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado WDuarte, com sua ajuda e uns pequenos ajustes, funcionou!

 

<?php
	//Development by Rodrigo Cabral Guimarães
	include_once("arquivos/conexao.php");
	include_once("arquivos/info.php");
	function listar_galerias($conexao){
		try{
			$listar = $conexao->query("SELECT * FROM galeria");
			$listar->execute();
			
			if($listar->rowCount() > 0){
				return $listar->fetchAll(PDO::FETCH_OBJ);
			}else{
				echo "Não a galerias cadastradas";
			};
		}catch(PDOException $error){
			echo "Erro ao listar galerias ".$error->getMessage();
		};
	}
?>
<!DOCTYPE HTML>
<html lang="pt-br">
	<head>
	<!-- 792cb82cf2fd3f3200b9c10edfb3dba8 -->
		<meta charset="UTF-8" />
		<title><?php echo $nomedaempresa; ?> - SISTEMA DE ADMINISTRAÇÃO</title>
		<link rel="stylesheet" href="css/estilo.css" type="text/css" media="all" />
		<script type="text/javascript" src="js/jquery.js" /></script>
		<script type="text/javascript" src="js/ajax.js" /></script>
	</head>
	<body>
		<div>
			<?php
				$galerias = listar_galerias($conexao);
				foreach($galerias as $galeria)
				echo $galeria->gal_nome."<br />";
			?>
		</div>
	</body>
</html>

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.