-
Similar Content
-
By Sapinn
Iai galera beleza? Estou com um erro simples aqui como eu faço para estender minha conexão para outros arquivos ? Estou tentado fazer mas está dado um erro aqui
arquivo connection.php
<?php
class Conexao{
public $db_name = 'pessoa';
public $host = 'localhost';
public $user = 'root';
public $pass = '';
public function __construct()
{
try {
$pdo = new PDO("mysql:db_name=".$this->db_name.";host=".$this->host,$this->user,$this->pass);
} catch (PDOException $e) {
echo "Erro no banco ".$e->getMessage();
exit();
}
}
}
arquivo Pessoa.php
<?php
include 'connection.php';
class Pessoa {
private $pdo;
public function __construct()
{
$this->pdo = new Conexao();
}
public function buscarDados(){
$stmt = [];
$sql = $this->pdo->query("SELECT * FROM pessoa
order by id desc");
$stmt = $sql->fetchAll(PDO::FETCH_ASSOC);
return $stmt;
}
}
arquivo index.php
<?php
require_once 'models/Pessoa.php';
$p = new Pessoa();
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="assets/css/style.css">
<title>Crud PDO </title>
</head>
<body>
<section id="esquerda">
<form action="">
<h2>Cadastrar Pessoa</h2>
<label for="nome">Nome: </label>
<input type="text" name="nome" id="nome">
<label for="telefone">Telefone: </label>
<input type="text" name="telefone" id="telefone">
<label for="email">Email:</label>
<input type="text" name="email" id="email">
<input type="submit" value="Cadastrar">
</form>
</section>
<section id="direita">
<?php
$p->buscarDados();
?>
<table>
<tr id="titulo">
<td>Nome</td>
<td>Telefone</td>
<td colspan="2">Email</td>
</tr>
<tr>
<td>Maria</td>
<td>00000000</td>
<td>maria@gmail.com</td>
<td><a href="">Editar</a> <a href="">Excluir</a></td>
</tr>
</table>
</section>
</body>
</html>
Erro que é apresentado:
Fatal error: Uncaught Error: Call to undefined method Conexao::query()
-
By eduardodsilvaq
$cmd = $pdo->prepare("SELECT * FROM tabela limit :inicio , :final"); $cmd->bindValue(":inicio",$inicio); $cmd->bindValue(":final",$final); O problema esta na primeira linha, pois se substituir :inicio e :final pelas suas variáveis a pesquisa acontece corretamente.
Alguma solução?
-
By eduardodsilvaq
$cmd = $pdo->prepare("SELECT * FROM tabela limit :inicio , :final"); $cmd->bindValue(":inicio",$inicio); $cmd->bindValue(":final",$final); O problema esta na primeira linha, pois se substituir :inicio e :final pelas suas variáveis a pesquisa acontece corretamente.
Alguma solução?
-
By mamotinho
Boa noite! estou com dúvidas em relação a array, eu tenho uma procedure no SQL Server e essa procedure exibe uma lista de resultados, eu gostaria de pega o valor desses resultados e lista em um array para eu comparar com outro valor que vai ser selecionado em um select , tipo abaixo:
$arraySelect = $db->prepare(exec WebSite.dbo.server_value_product 2);
$arraySelect->execute();
$arrayExemple = $arraySelect->fetchAll();
procedure_list = array($arrayExemple);
!in_array($valorSelect, $procedure_list){
echo 'O Valor selecionado não existe nos resultados da procedure';
}
alguem sabe como posso listar o resultado da procedure em array. e sabe se o valor que procuro está entre os resultados da array.
-
By Matheus Bispo
Saudações colegas, estou com um problema aqui, que está difícil de resolver, estou criando um login, utilizando PHP POO+PDO, acontece que já tentei de tudo quanto é jeito e não consigo passar deste problema.
Vamos lá, primeiro o meu index.php
<input type="email" name="usu_email" id="usu_email" class="form-control"
placeholder="email@email.com" required="true" autofocus>
<br>
<label for="inputPassword">Senha</label>
<input type="password" name="usu_senha" id="usu_senha" class="form-control"
placeholder="*******" required="true"><br>
<?php
$Dados = filter_input_array(INPUT_POST, FILTER_DEFAULT);
if(!empty($Dados['btnEnviar'])) {
unset($Dados['btnEnviar']);
$ChamarUsuario = new Usuario();
$ChamarUsuario->logar($Dados['usu_email'], $Dados['usu_senha']);
echo $ChamarUsuario->getMsg();
var_dump($Dados);
}
else{
}
?>
Na minha class Usuario
public function logar($Email, $Senha)
{
$this->Email = $Email;
$this->Senha = $Senha;
$this->verificarEmail();
}
private function verificarEmail(){
$Visualizar = new Read();
$Visualizar->ExeRead('usuarios', 'WHERE usu_email = :usu_email LIMIT :limit', "usu_email={$this->Email}&limit=1");
if($Visualizar->getResultado()):
$this->verificarSenha();
else:
$this->Resultado = false;
$this->Msg = "<div class='alert alert-danger'>Email não existente!</div>";
endif;
}
E na minha class Read está assim:
class Read extends Conn
{
private $Select;
private $Values;
private $Resultado;
private $Msg;
private $Query;
private $Conn;
public function ExeRead($Tabela, $Termos = null, $ParseString = null)
{
if(!empty($ParseString)):
parse_str($ParseString, $this->Values);
endif;
$this->Select = "SELECT * FROM {$Tabela} {$Termos}";
}
public function getResultado()
{
return $this->Resultado;
}
public function getMsg()
{
return $this->Msg;
}
public function getRowCount()
{
return $this->Query->rowCount();
}
private function conexao()
{
$this->Conn = parent::getConn();
$this->Query = $this->Conn->prepare($this->Select);
$this->Query->setFetchMode(PDO::FETCH_ASSOC);
}
private function getInstrucao()
{
if ($this->Values):
foreach ($this->Values as $Link => $Valor):
if ($Link == 'limit' || $Link == 'offset'):
$Valor = (int) $Valor;
endif;
$this->Query->bindValue(":{$Link}", $Valor, ( is_int($Valor) ? PDO::PARAM_INT : PDO::PARAM_STR));
endforeach;
endif;
}
private function ExecutarInstrucao()
{
$this->Conexao();
try
{
$this->getInstrucao();
$this->Query->execute();
$this->Resultado = $this->Query->fetchAll();
}
catch (PDOException $e)
{
$this->Resultado = null;
return "<b>Erro ao Ler:</b> {$e->getMessage()}";
}
}
}
Sempre retorna que meu email não existe, mas este email está gravado no banco... O que poderia estar errado?
-