Pesquisar na Comunidade
Mostrando resultados para as tags ''PDO''.
Encontrado 24 registros
-
Olá a todos! Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês. Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/ Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda. E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece. Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando. Desde já, obrigado.
-
Olá, Preciso fazer uma inserção no DB de registros referente a pagamentos, quando for no crédito será realizado o insert com sua respectiva data de compensação e valor da parcela exemplo: 3 parcelas de 100.00 e cada registro em seu devido mês: INSERT INTO tabela (valor, data) VALUES (100, 2022-08-17),(100, 2022-09-17),(100, 2022-10-17) É mais eficiente fazer da forma acima ou colocar 3 INSERT? Ou existe forma melhor de fazer isso? Obrigado.,
-
Olá, estou precisando de uma ajuda... Tenho duas tabelas ministros entradas Preciso exibir a lista dos ministros que não contam no relatório gerado em entradas. Fiz assim a combinação. $sql = "SELECT ministro.id, ministro.area, entrada.beneficiario, entrada.id_benificiario, entrada.id_benificiario, entrada.tipo_lancamento FROM ministro INNER JOIN entrada ON ministro.id = entrada.id_benificiario WHERE ministro.area = entrada.area_beneficiario AND ministro.nome = entrada.beneficiario AND entrada.id_benificiario='[{$id_exer}' AND entrada.tipo_lancamento='ministro' "; $stm = $conexao->prepare($sql); $stm->execute(); $clientes = $stm->fetchAll(PDO::FETCH_OBJ); Fiz as combinações direitinho mais não consigui exbir os que estão na tabela ministro e não estão na tabela entrada.
-
Olá, sou iniciante em php, estou tentando migrar um código de php 5.6 para pdo mais da erro, não roda.... Alguém pode me ajudar? include '../Connections/functions.php'; function montaSelect() { $sql = "SELECT * FROM membros"; $result = $con->query($sql); if ($result->num_rows > 0 ) { while($dados = $result->fetch_assoc()) { $opt .= '<option value="'.$dados['id'].'">'.$dados['nome'].'</option>'; } } else { $opt = '<option value="0">Nenhum Membro cadastrado</option>'; return $opt; } } Este era o código original: // require 'topof.php'; // echo $usuario; /** * função que retorna o select */ function montaSelect() { $sql = "SELECT id, nome FROM membros '"; $query = mysql_query( $sql ); if( mysql_num_rows( $query ) > 0 ) { while( $dados = mysql_fetch_assoc( $query ) ) { $opt .= '<option value="'.$dados['id'].'">'.$dados['nome'].'</option>'; } } else $opt = '<option value="0">Nenhum Membro cadastrado</option>'; return $opt; }
-
Recentemente, o seguinte erro estava aparecendo em meu site 'max_user_connections', depois de muitas pesquisas descobri que o problema era devido a uma conexão persistente de banco de dados, então o removi do meu código e funcionou. Outro problema surgiu agora, meu lastInsertId () está retornando 0. Quando eu uso a conexão persistente, ele funciona se eu removê-lo, ele falha. Eu nem sei mais o que fazer. Vou deixar as partes mais importantes do meu código aqui: Conexão: public function __construct() { $dsn = 'mysql:host='.$this->host.';dbname='.$this->bank; try { $this->dbh = new PDO($dsn,$this->user,$this->password); $this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } } public function lastId Inserted(){ return $this->dbh->lastInsertId(); } Pesquisando pelo último Id: if($this->saleModel->store($data)): $sale_id = $this->db->lastId Inserted(); $data['sale_id'] = $sale_id; $this->sellModel->sellProduct($data); $total = $stock->quant_product - $data['quant_sale']; $this->ProductModel->decreaseSales($data['product_id'],$total); Url::redirect('sales/sellProducts/'.$sale_id.''); endif;
-
Estou precisando salvar fotos dos usuários de um sistema e não estou conseguindo fazer com OO já assisti video aulas e li algumas matérias mas sempre dá erro. Alguém sabe algum jeito de se fazer?? Eu até tentei mas fica sempre com erro, vou postar aqui talvez tenha algo que eu esteja fazendo errado. class para salvar a foto: private function salvarFoto($foto){ $fotos = $_FILES['foto_admin']; $fotoDir = "imagens/fotos_admins/"; $fotoPath = $fotoDir . basename($foto['foto_admin']['name']); $fotoTmp = $foto['foto_admin']['tmp_name']; if(move_uploaded_file($fotoTmp, $fotoPath)): return $fotoPath; else: return false; endif; } E estou chamando ela assim: $upload = $this->salvarFoto($_FILES); if(gettype($upload) == 'string'): $dados['foto_admin'] = $upload; endif; E o erro é o seguinte: move_uploaded_file(imagens/fotos_admins/sapinn.jpg): failed to open stream: No such file or directory in Não sei o que está errado a pasta imagens/fotos_admins está dentro da minha pasta Controller
-
Boa pessoal. Então, estou fazendo um sistema para uma loja de manutenção de aparelhos eletrônicos, e eu tenho um formulário de cadastro onde eu posso inserir os dados de um cliente e os dados do seu aparelho. E eu consigo cadastrar simultaneamente cada um em suas respectivas tabelas. O que eu gostaria de fazer era assim que cadastra-se o cliente pega-se o seu id( Nesse caso o ultimo id inserido) e inserisse na tabela serviços junto. No PDO tem um jeito de fazer isso que é usando o lastInsertId() mas eu não estou sabendo como retornar esse ultimo id para fazer essa inserção
-
Olá pessoal! Peguei alguns códigos na internet para para estudar um pouco e aproveitei para desenvolver um sisteminha simples aqui onde eu trabalho. Consegui desenvolvê-lo usando esse arquivo de conexão: <?php /************************************************************************************************************* * @author William F. Leite * * Data: 20/06/2014 * * Descrição: Classe elaborada com o objetivo de auxlilar nas operações CRUDs em diversos SGBDS, possui * * funcionalidades para construir instruções de INSERT, UPDATE E DELETE onde as mesmas podem ser executadas * * nos principais SGBDs, exemplo SQL Server, MySQL e Firebird. Instruções SELECT são recebidas integralmente * * via parâmetro. * *************************************************************************************************************/ /* * Constantes de parâmetros para configuração da conexão */ define('SGBD', 'mysql'); define('HOST', 'localhost'); define('DBNAME', 'contratos_rh'); define('CHARSET', 'utf8'); define('USER', 'tonhao'); define('PASSWORD', '100375'); define('SERVER', 'linux'); class conexao { /* * Atributo estático de conexão */ private static $pdo; /* * Escondendo o construtor da classe */ private function __construct() { // } /* * Método privado para verificar se a extensão PDO do banco de dados escolhido * está habilitada */ private static function verificaExtensao() { switch(SGBD): case 'mysql': $extensao = 'pdo_mysql'; break; case 'mssql':{ if(SERVER == 'linux'): $extensao = 'pdo_dblib'; else: $extensao = 'pdo_sqlsrv'; endif; break; } case 'postgre': $extensao = 'pdo_pgsql'; break; endswitch; if(!extension_loaded($extensao)): echo "<h1>Extensão {$extensao} não habilitada!</h1>"; exit(); endif; } /* * Método estático para retornar uma conexão válida * Verifica se já existe uma instância da conexão, caso não, configura uma nova conexão */ public static function getInstance() { self::verificaExtensao(); if (!isset(self::$pdo)) { try { $opcoes = array(\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'); switch (SGBD) : case 'mysql': self::$pdo = new \PDO("mysql:host=" . HOST . "; dbname=" . DBNAME . ";", USER, PASSWORD, $opcoes); break; case 'mssql':{ if(SERVER == 'linux'): self::$pdo = new \PDO("dblib:host=" . HOST . "; database=" . DBNAME . ";", USER, PASSWORD, $opcoes); else: self::$pdo = new \PDO("sqlsrv:server=" . HOST . "; database=" . DBNAME . ";", USER, PASSWORD, $opcoes); endif; break; } case 'postgre': self::$pdo = new \PDO("pgsql:host=" . HOST . "; dbname=" . DBNAME . ";", USER, PASSWORD, $opcoes); break; endswitch; self::$pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { print "Erro: " . $e->getMessage(); } } return self::$pdo; } public static function isConectado(){ if(self::$pdo): return true; else: return false; endif; } } O sistema está funcionando perfeitamente, porém gostaria de incluir a necessidade de fazer login para acessá-lo. Usei o código abaixo, que também consegui na internet: <?php session_start(); include('conexao.php'); if(empty($_POST['usuario']) || empty($_POST['senha'])) { header('Location: index.php'); exit(); } $usuario = mysqli_real_escape_string($conexao, $_POST['usuario']); $senha = mysqli_real_escape_string($conexao, $_POST['senha']); $query = "SELECT usuario FROM tab_usuarios WHERE usuario = '{$usuario}' AND senha = md5('{$senha}')"; $result = mysqli_query($conexao, $query); $row = mysqli_num_rows($result); if($row == 1) { $_SESSION['usuario'] = $usuario; header('Location: painel_professor.php'); exit(); } else { $_SESSION['nao_autenticado'] = true; header('Location: index.php'); exit(); } Porém esse login só funciona usando esse arquivo de conexão: <?php define('HOST', '127.0.0.1'); define('USUARIO', 'tonhao'); define('SENHA', '100375'); define('DB', 'contratos_rh'); $conexao = mysqli_connect(HOST, USUARIO, SENHA, DB) or die ('Não foi possível conectar'); Como poderia adaptá-lo para que funcione com o primeiro arquivo de conexão? Tentei por vários dias, mas como tenho pouca experiência com programação, não consegui. Desde já agradeço a ajuda de todos
-
Viva pessoal, Estou com um problema na execução de um filtro aos dados vindos da base de dados, sera que alguém me pode ajudar, os dados estão vindo para a pagina através do método $_POST, que são seleccionados através do carregamento de uma dropbox chamada 'select-segment', desta forma se o utilizador apertar o botão 'action' ele executa o filtro caso não aperte ele executa a seleção sem filtros, será que alguém me pode ajudar... O erro devolvido é o seguinte: Fatal error:: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /Applications/MAMP/htdocs/cargeWebsite/carList.php:46 Stack trace: #0 /Applications/MAMP/htdocs/cargeWebsite/carList.php(46): PDOStatement->execute() #1 /Applications/MAMP/htdocs/cargeWebsite/index.php(155): include('/Applications/M...') #2 {main} thrown in $query .='SELECT * FROM tbl_vehicle AS v INNER JOIN tbl_brands AS b ON v.brand_id = b.id_brand INNER JOIN tbl_images AS i ON v.id_vehicle = i.vehicle_id INNER JOIN tbl_fuel AS f ON v.fuel_id = f.id_fuel WHERE v.active = :active'; if(isset($_POST['action'])){ if(isset($_POST['select-segment']) && $_POST['select-segment']!=''){ $segment_filter = $_POST['select-segment']; $query.= 'AND segment_id IN ("'.$segment_filter.'")'; } $query .='ORDER BY v.last_inser ASC'; }else{ $query .='ORDER BY v.last_inser ASC'; } if($_POST['lenght'] = -1){ $query_1 = 'LIMIT :inicio, :limite'; } $dbh = createPDO(); $statement = $dbh->prepare($query); $statement->bindValue(':active',$intermedio); $statement->execute(); $number_filter_row = $statement->rowCount(); $statement = $dbh->prepare($query . $query_1); $statement->bindValue(':inicio',(int)$init, PDO::PARAM_INT); $statement->bindValue(':limite',(int)$limite, PDO::PARAM_INT); $statement->execute(); foreach ($result as $row){ }
-
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()
-
$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?
-
$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?
-
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?
-
function getAssuntos() { $pdo = Connection::getInstance(); $sql = "SELECT DISTINCT DATE_FORMAT(created, '%Y %m') AS data FROM minha_tabela ORDER BY data DESC LIMIT 12"; try { $stmt = $pdo->prepare($sql); $stmt->execute(); $contar = $stmt->rowCount(); if($contar > 0 ) { while($blog = $stmt->fetch(PDO::FETCH_OBJ)) { $anoMes = $blog->data; $mesAno = explode(" ", $anoMes); switch ($mesAno[1]): case "01": $mes = 'Janeiro'; break; case "02": $mes = 'Fevereiro'; break; case "03": $mes = 'Março'; break; case "04": $mes = 'Abril'; break; case "05": $mes = 'Maio'; break; case "06": $mes = 'Junho'; break; case "07": $mes = 'Julho'; break; case "08": $mes = 'Agosto'; break; case "09": $mes = 'Setembro'; break; case "10": $mes = 'Outubro'; break; case "11": $mes = 'Novembro'; break; case "12": $mes = 'Dezembro'; break; endswitch; ?> <ol class="list-unstyled mb-0"> <li><a href="#"> <?php echo $mes." ".$mesAno[0]; ?> </a></li> </ol> <?php }//while } else { echo '<li>Não existe <strong>ASSUNTOS CADASTRADOS</strong></li>'; } } catch(PDOException $e) { $e->getMessage(); } }
-
Estou tentando aprender PDO com MVC através de aulas no youtube. Estou com um problema no desenvolvimento de um framework quando chamo o parâmetro. Estou debugando o codigo para tentar achar o erro e parece que o paramentro chamado é o anterior. Quando uso o seguinte link http://localhost/framework_mvc/paginas e debugo aparece o seguinte: object(Rota)#1 (3) { ["controlador":"Rota":private]=> object(Paginas)#2 (0) { } ["metodo":"Rota":private]=> string(5) "index" ["parametros":"Rota":private]=> array(1) { [0]=> string(7) "paginas" } } Ate ai tudo certo. Quando uso o seguinte link http://localhost/framework_mvc/paginas/sobre e debugo aparece o seguinte: object(Rota)#1 (3) { ["controlador":"Rota":private]=> object(Paginas)#2 (0) { } ["metodo":"Rota":private]=> string(5) "sobre" ["parametros":"Rota":private]=> array(1) { [0]=> string(7) "paginas" } } Quando o que deveria ocorrer era um erro e ser necessário que fosse adicionado mais um parametro na url ficando por exemplo assim: http://localhost/framework_mvc/paginas/sobre/24. Codigos usados: Rota.php <?php class Rota{ private $controlador = 'Paginas'; private $metodo = 'index'; private $parametros = []; public function __construct(){ $url = $this->url() ? $this->url() : [0]; if(file_exists('../app/Controllers/'.ucwords($url[0]).'php')): $this->controlador = ucwords($url[0]); unset($url[0]); endif; require_once '../app/Controllers/'.$this->controlador.'.php'; $this->controlador = new $this->controlador; if(isset($url[1])): if(method_exists($this->controlador, $url[1])): $this->metodo = $url[1]; unset($url[1]); endif; endif; $this->parametros = $url ? array_values($url) : []; call_user_func_array([$this->controlador,$this->metodo], $this->parametros); var_dump($this); } private function url(){ $url = filter_input(INPUT_GET,'url',FILTER_SANITIZE_URL); if(isset($url)): $url = trim(rtrim($url,'/')); $url = explode('/',$url); return $url; endif; } } Paginas.php <?php class Paginas{ public function index(){ } public function sobre($id){ echo $id."<hr/>"; } } index.php <?php include './../app/Libraries/Rota.php'; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Frameword de PHP7 - MVC</title> </head> <body> <?php $rotas = new Rota(); ?> </body> </html> A video aula que estou assistindo é essa:
-
Ola amigos, estou tentando fazer uma confirmação de cadastro por email, porém não estou tendo êxito. Consigo pegar o usuario, email e senha. Porem quando dou um 'echo' na variavel $id e $md5 para conferir os dados não aparece nada e o INSERT não é feito. Segue o codigo. <?php $host = "mysql:busca;host=localhost"; $usuario = "root"; $pass = ""; try{ $pdo = new PDO($host, $usuario, $pass); }catch(PDOExecption $e){ echo "Falha: ". $e->getMessage(); } $user = addcslashes($_POST['user'],"F"); $email = addcslashes($_POST['email'],"F"); $senha = md5(addcslashes($_POST['senha'],"F")); $pdo->query("INSERT INTO tabela1 SET user='$user', email='$email', senha='$senha'"); $id = $pdo->lastInsertId(); $md5 = md5($id); $assunto = "Confirme seu cadastro"; $link = "confirma.php?h=".$md5; $mensagem = '<a href="'.$link.'">Clique aqui para confirmar: </a>'; $header = "From: teste"; echo $user.'<br>'; echo $email.'<br>'; echo $senha.'<br>'; echo $id.'<br>'; echo $md5.'<br>'; mail($email, $assunto, $mensagem, $header); ?> TABELA: CREATE TABLE `tabela1` ( `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `user` varchar(50), `email` varchar(100), `senha` varchar(50), `status` tinyint(4) );
-
Meu PDO, não está retornando nenhum valor, e está dando erro ao tentar baixar o arquivo: <?php //se não tiver o parametro, mata a aplicação. if (isset($_POST['codigo_video'])) { $codigo_video = $_POST['codigo_video']; } //Aqui está um exemplo simples de como fazer uma conexão PDO $host = 'localhost'; $db = 'onteach'; $user = 'root'; $pass = 'root'; $charset = 'utf8mb4'; $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; try { $pdo = new PDO($dsn, $user, $pass); } catch (PDOException $e) { throw new PDOException($e->getMessage(), (int)$e->getCode()); } //$pdoQuery = $pdo->query("SELECT conteudo.arquivo FROM conteudo WHERE conteudo.conteudo_video = '{$codigo_video}'"); try{ $ready = $pdo->prepare("SELECT conteudo.arquivo FROM conteudo WHERE conteudo.conteudo_video = :codigo_video"); $ready->bindParam(':codigo_video', $codigo_video); // $ready = $pdo->prepare($pdoQuery); // $ready->execute(); }catch(PDOException $e){ echo $e->getMessage(); } while($rs = $ready->fetch(PDO::FETCH_ASSOC));{ $local = 'upload/'; $local_arquivo = $local.$rs; header('Content-type: octet/stream'); // Indica o nome do arquivo como será "baixado". Você pode modificar e colocar qualquer nome de arquivo header('Content-disposition: attachment; filename="'.$rs.'";'); // Indica ao navegador qual é o tamanho do arquivo header('Content-Length: '.filesize($local_arquivo)); // Busca todo o arquivo e joga o seu conteúdo para que possa ser baixado readfile($local_arquivo); } print_r($rs); ?> Alguém sabe resolver? Visto que o $rs não retorna o dado arquivo da tabela
-
Não sei oq tem de errado. O erro: Notice: Undefined index: name in C:\AppServ\www\includes\functions.php on line 105 A linha do erro: <td width="106"><div class="fonte">'. $row["name"] .'</div></td> O codigo: function mini_ranking (){ $PDO = db_connect_gamedata(); $sql = "SELECT name baselevel FROM u_hero WHERE class <> '80' ORDER BY baselevel Desc Limit 6"; $result = $PDO->query($sql); $guild = $result->fetchAll(PDO::FETCH_ASSOC); $i = 1; echo '<table width="153" height="0" border="0">'; foreach($guild as $row) { echo '<tr> <td width="0" height="0" align="center"><div class="fonte">'. $i++ . '</div></td> <td width="106"><div class="fonte">'. $row["name"] .'</div></td> <td width="20"><div class="fonte">'. $row["baselevel"] .'</div></td> <tr>'; } echo '</table>'; }
-
php [RESOLVIDO]Fatal error: Call to undefined function db_connect() ?
rogerblower postou um tópico no fórum PHP
o Google me avisou de dois erros no meu site; Clickable elements too close together Text too small to read Na verificação constatei que o erro é; Fatal error: Call to undefined function db_connect() in O php não me mostra esse erro mesmo habilitando os erros no php ini os arquivos de conexão que estou usando são; ini.php <?php define('DB_HOST', 'localhost'); define('DB_USER', 'user'); define('DB_PASS', 'senha'); define('DB_NAME', 'banco'); ini_set('display_errors', true); error_reporting(E_ALL); require_once 'functions.php'; functions.php <?php function db_connect() { $pdo = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';charset=utf8', DB_USER, DB_PASS); return $pdo; } function make_hash($str) { return sha1(md5($str)); } function isLoggedIn() { if (!isset($_SESSION['logged_in']) || $_SESSION['logged_in']!== true) { return false; } return true; } O erro esta nesta linha <?php $pdo = db_connect(); $sql = $pdo->prepare("SELECT * FROM servicos "); $sql->execute(); while($row=$sql->fetch(PDO::FETCH_ASSOC)){ echo'<a href="servicos.php?id='.$row['id'].'">'.$row['servico'].'</a>'; } Incluo a conexão com banco na header.php e nas demais páginas não aparece o erro realmente não sei o que pode estar acontecendo. se alguém pode me ajudar? Obrigado -
Estou criando um cadastro de usuários, que até o momento esta funcionando quase que perfeito, se não fosse um "window.alert" aparecer quando desnecessário... É o seguinte, eu inseri o código abaixo para evitar o cadastro de E-mail repetido no Sistema, já que estarei usando o E-mail cadastrado como Login. // Verifica se o E-mail já existe no sistema $sql_verificaMail = 'SELECT email FROM cadastro WHERE email = :email'; $query_verificaMail = $db->prepare($sql_verificaMail); $query_verificaMail->bindValue(':email',$email, PDO::PARAM_STR); $query_verificaMail->execute(); $count_verificaMail = $query_verificaMail->rowCount(PDO::FETCH_ASSOC); if($count_verificaMail >= '1'){ // Redireciona para a pagina de inicio, caso o E-mail já existir no Sistema. echo "<meta http-equiv='refresh' content='0; URL= index.php'> <script language='javascript'> window.alert('Ups... Esse E-mail já é cadastrado em nosso Sistema!!!'); </script>"; }else{ // Se for um novo E-mail no sistema é realizado o cadastro Mas quando me deparo com um E-mail já cadastrado, ele bloqueia o cadastro e via "window.alert" envia a mensagem de que o E-mail já existe no Sistema, até ai perfeito... Mas quando clico em "OK" para voltar à pagina inicial, ele me manda outro "window.alert", que se refere ao E-mail enviado para a conta cadastrada... Estou postando abaixo todo código, para que os amigos possam me dar uma luz, e eu possa fazer que ele volte para a pagina inicial, logo apos o "window.alert", de E-mail já cadastrado. <?php require 'init.php'; include 'config.php'; // Cadastro if(isset($_POST['cadastrar'])){ $name = addslashes($_POST['name']); $ur = addslashes($_POST['ur']); $celular = addslashes($_POST['celular']); $email = addslashes($_POST['email']); $password = addslashes($_POST['password']); $foto = addslashes($_POST['foto']); $end_foto = addslashes($_POST['end_foto']); $t_cartola = addslashes($_POST['t_cartola']); $end_t_cartola = addslashes($_POST['end_t_cartola']); // Verifica se o E-mail já existe no sistema no Sistema $sql_verificaMail = 'SELECT email FROM cadastro WHERE email = :email'; $query_verificaMail = $db->prepare($sql_verificaMail); $query_verificaMail->bindValue(':email',$email, PDO::PARAM_STR); $query_verificaMail->execute(); $count_verificaMail = $query_verificaMail->rowCount(PDO::FETCH_ASSOC); if($count_verificaMail >= '1'){ // Redireciona para a pagina de inicio, caso o E-mail já existir no Sistema. echo "<meta http-equiv='refresh' content='0; URL= index.php'> <script language='javascript'> window.alert('Ups... Esse E-mail já é cadastrado em nosso Sistema!!!'); </script>"; }else{ // Se for um novo E-mail no sistema é realizado o cadastro $sql = 'INSERT INTO cadastro (name, ur, celular, email, password, foto, end_foto, t_cartola, end_t_cartola)'; $sql .= 'VALUES (:name, :ur, :celular, :email, :password, :foto, :end_foto, :t_cartola, :end_t_cartola)'; try { $create = $db->prepare($sql); $create->bindValue(':name', $name, PDO::PARAM_STR); $create->bindValue(':ur', $ur, PDO::PARAM_STR); $create->bindValue(':celular', $celular, PDO::PARAM_STR); $create->bindValue(':email', $email, PDO::PARAM_STR); $create->bindValue(':password', $password, PDO::PARAM_STR); $create->bindValue(':foto', $foto, PDO::PARAM_STR); $create->bindValue(':end_foto', $end_foto, PDO::PARAM_STR); $create->bindValue(':t_cartola', $t_cartola, PDO::PARAM_STR); $create->bindValue(':end_t_cartola', $end_t_cartola, PDO::PARAM_STR); if($create->execute()){ echo "<meta http-equiv='refresh' content='0; URL= ../index.php'> <script language='javascript'> window.alert('Cadastro realizado com sucesso!'); </script>"; } }catch (PDOException $e){ echo "<meta http-equiv='refresh' content='0; URL= ../index.php'> <script language='javascript'> window.alert('Ups... Erro ao realizar o Cadastro'); </script>"; }}} $urlSite = $_POST['urlSite']; $name = $_POST['name']; $email = $_POST['email']; require('PHPMailer/class.phpmailer.php'); $smtp = 'mail.resenhao.com.br'; $emailUser = 'adm@resenhao.com.br'; $senha = 'resenhao100164'; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->Port = 587; $mail->Host = "$smtp"; $mail->Username = "$emailUser"; $mail->Password = "$senha"; $mail->SetFrom("$emailUser", "$urlSite"); $mail->AddAddress("$email", "$name"); $mail->Subject = 'Confirmar cadastro'; $body = "Olá $name<br/><br/> Para confirmar seu cadastro, por favor, clique no link abaixo:<br/> <a href='$urlSite/cadastroConfirmado.php?email=$email'>Clique aqui para confirmar seu cadastro</a><br/><br/> Se não tiver sido você ou não desejar confirmar o cadastro, apenas desconsidere esta mensagem<br/><br/> Obribado!"; $mail->MsgHTML($body); if($mail->Send()){ echo "<meta http-equiv='refresh' content='0; URL= index.php'> <script language='javascript'> window.alert('Foi enviado uma mensagem para o E-mail cadastrado,' + '\\n' + 'que possivelmente estara em sua caixa SPAM,' + '\\n' + 'que deve ser confirmado para validar o seu cadastro.'); </script>"; } else { echo "<meta http-equiv='refresh' content='0; URL= index.php'> <script language='javascript'> window.alert('Ups.. Erro ao realizar o cadastro!'); </script>"; } ?> Desde já agradeço pela a atenção de todos...
-
Olá caros amigos, estou enrolado em um PDO que nao consigo corrigir. Eis meu script: <?php include "conexao.php"; $user = $_POST['user']; $senha_tec = $_POST['senha']; $codigo = $_POST['codigo']; $senha1 = hash('sha256', $senha_tec); $sql = "SELECT * FROM codigos WHERE codigo = :CODIGO"; $stmt = $PDO->prepare($sql); $stmt->bindParam(':CODIGO', $codigo); $stmt->execute(); if($stmt->rowCount() > 0) { $dados = $stmt->fetch(PDO::FETCH_ASSOC); $id_emp = $dados['id_emp']; $sql_login = "SELECT * FROM empresas WHERE id = :EMP"; $stmt_login = $PDO->prepare($sql_login); $stmt_login->bindParam(':EMP', $id_emp); $stmt_login->execute(); if($stmt_login->rowCount() > 0) { $dados_login = $stmt_login->fetch(PDO::FETCH_ASSOC); $hostname = $dados_login['host_db']; $usuario = $dados_login['user_db']; $senha = $dados_login['password_db']; $bancodedados = $dados_login['banco_db']; $dsn = "mysql:host=" . $hostname . ";dbname=" . $bancodedados . ";charset=utf8"; $PDO = new PDO($dsn, $usuario, $senha); $sql_tec = "SELECT * FROM sis_acesso WHERE login = :USER && sha = :SENHA LIMIT 1"; $stmt_tec = $PDO->prepare($sql_tec); $stmt_tec->bindParam(':USER', $user); $stmt_tec->bindParam(':SENHA', $senha1); $stmt_tec->execute(); if($stmt_tec->rowCount() > 0) { $dados_tec = $stmt_tec->fetch(PDO::FETCH_ASSOC); } else { $retornoApp = array("LOGIN"=>"ERRO"); } } $retornoApp = array("LOGIN"=>"SUCESSO", "HOST DB"=>$dados_login['empresa'], "PERMISSOES"=>$dados_tec['cli_grupos']); } else { $retornoApp = array("LOGIN"=>"ERRO"); } echo json_encode($retornoApp); ?> ele pega dados que estao em um banco de dados e abre uma nova conexao, porem eu nao consigo fazer com que ele retone erro caso nao o usuario e senha esteja errado Usando as credencias corretas ele me retorna: agora quando coloca usuario ou senha errada: ele retorna o seguinte o unico modo que ele retona erro e quando o codigo (1111-1111) esta errado: sera que conseguem me ajudar ?
-
Não acha a função prepare class ClassCrud extends ClassConexao { #Atributos private $Crud; private $Contador; #Preparação das declarativas public function preparedStatements($Query, $Parametros){ $this->countParamentos($Parametros); $this->Crud=$this->connectaDB()->prepare($Query); echo $this->Contador; } #Contador de parâmentros private function countParamentos($Paramentors){ $this->Contador=count($Paramentors); } } ClassConexao <?php abstract class ClassConexao { #Realizar conexão com o banco de dados protected function conectaDB() { try { $conn = new PDO('mysql:host=localhost;dbname=crud;port=3308', "root", ""); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //$id = 1; //$stmt = $conn->prepare('SELECT * FROM cadastro WHERE id = :id'); //$stmt->execute(array('id' => $id)); //$result = $stmt->fetchAll(); //if (count($result)) { // foreach ($result as $row) { // print_r($row); // } //} else { // echo "Nennhum resultado retornado."; //} } catch (PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } } } Index <?php include ("Includes/Header.php"); ?> <div class="Content"> <?php include("Class/ClassConexao.php"); include("Class/ClassCrud.php"); $Crud=new ClassCrud(); $Crud->preparedStatements('desfilar',array(1,2,3,4,5)); ?> </div> <?php include ("Includes/Footer.php"); ?> Mais o erro acontece e não consigo resolver. Erro abaixo Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\wamp64\www\Crud\Class\ClassCrud.php on line 14
-
Estou com duvida se minha conexão está encerrando. Utilizo PDO para me conectar: public static function getDb(){ try { $db = new \PDO( 'mysql:host=localhost;dbname=xyz;charset=utf8', 'xyz', 'xyz1234', array( \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION ) ); return $db; } catch (PDOException $e) { echo "Erro de Conexão " . $e->getMessage() . "\n"; exit; } } public function __construct(\PDO $db) { $this->db = $db; } public function verifica(){ $sql = "SELECT * FROM tabela "; $result = $this->db->query($sql); $rows = $result->fetch(); if($rows){ }else{ } } public function __destruct() { unset($this->db); foreach ($this as $key => $value) { unset($this->$key); } } Estou fazendo certo? Como posso verificar se a conexão está ficando aberta?
-
Fala pessoal, estou ultimamente com um probleminha em um projeto no qual estou desenvolvendo e queria contar com o conhecimento de vocês para poder me ajudar. Então, eu fiz uma conexão com o banco de dados mysql PDO e quando o projeto inseri conteúdo lá ele aparece com caracteres estranhos no lugar de acentuações. Já fiz alguns procedimentos, mas não sei onde estou errando ! A arquitetura do bando de dados. <?php ob_start(); try { $con = new PDO("mysql:dbname=buscador2;host=localhost", "root", "", array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); } catch(PDOExeption $e) { echo "Connection failed: " . $e->getMessage(); } ?>