Jump to content

Search the Community

Showing results for tags 'pdo'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 212 results

  1. Jefferson andre

    Contador de paginas com problemas

    Saudações mestres, Preciso de ajuda em um pequeno programa que faz a contagem de acessos ao site, ele abre o banco de dados corretamente e a partir dai ja da problemas retornando a mensagem: Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, object given in C:\xampp\htdocs\xcompbrasil\contador.php on line 10 Warning: mysqli_query() expects parameter 1 to be mysqli, object given in C:\xampp\htdocs\xcompbrasil\contador.php on line 24 A tabela contador possui o campo codigo INT 11 sem auto inclemento e sem indice, o conteudo foi colocado manual sendo o numero 213 segue o programa de conexao.php <?php ini_set('error_reporting', E_ALL); ini_set('log_errors' , TRUE); ini_set('html_errors' , TRUE); ini_set('display_errors' , TRUE); // production: FALSE, development: TRUE $host_local = "localhost"; $db_local = "baseprincipal"; $user_local = "root"; $pass_local = ""; $arquivo = new PDO("mysql:host=$host;dbname=$db", $user, $pass); try { } catch (PDOException $e) { echo "Error : " . $e->getMessage() . "<br/>"; die(); } ?> Segue o programa contador.php <?php // fazendo uma conexão com o banco de dados include_once 'conexao.php'; $arquivo->beginTransaction(); $consulta = $arquivo->query("SELECT * FROM contador"); $linha=mysqli_fetch_array($consulta); // igualar a array a uma variavel $cod = $linha["codigo"]+1; echo $cod; $arquivo->commit(); // lista a variavel echo "<font face='Arial'><span class='style1'>$cod</span></font>"; $sql = "UPDATE contador SET codigo=$cod"; if (mysqli_query($arquivo, $sql)) { // echo "Alteração efetuada com sucesso"; } else { // echo "Erro alterando o contador de visitas: " . mysqli_error($arquivo); } // fecha a conexao $arquivo = null; ?> Agradeço a atenção
  2. luisfeliperm2

    PDO Exception não trabalha

    PHP Exibe mensagem Warning mesmo tratando exceção, como impedir isto ? Na mensagem é exibida o usuário e senha do meu banco de dados Observe: Não quero desativar as mensagens de Warning na configuração do PHP. Quero apenas impedir que não seja mostrado essa mensagem na função de conexão com a DB
  3. Profilmes

    Dúvida - de Mysql para PDO

    Olá galera, Preciso de ajuda com alguém que saiba atualizar dados mysql para PDO, andei pesquisando sobre a situação do meu projeto e descobri que, o meu problema é com a antiguidade do Mysql no php The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in se alguém se depuser atualizar meu projeto ficaria muito grato. de momento não posso ajudar financeiramente, mas, pretendo guardar um dinheiro no próximo pagamento. de coração mesmo O projeto é super pequeno. tem 27KB jamison_1994@hotmail.com whatsapp 11958215688
  4. Disponibilizando para vocês, sistema PHP 7 controle de estoque.. https://www.4shared.com/rar/NsY_o5qwfi/controleDeEstoquePHPCodigoFont.html? OBS. NÃO SEGUE UM PADRÃO - É PARA QUEM ESTÁ APRENDENDO
  5. Olá, estou recentemente estudando o PDO , já conseguir usar INSERT/UPDATER/DELETE porém eu utilizo banco de dados MSSQL SERVER 2008 estou tentando usar o método exec para eu executa a procedure que contém mais inserção dentro dela. tentei utilizar o mesmo modelo que faço: EXEMPLO: $ClassProcedure = $conexao->prepare("EXEC Account.dbo.pdoteste (:Login, :country, :firsname)"); mais não funciona, o PDO utiliza outra forma de executa procedure? se sim alguém poderia me fazer uma execução demonstrativo por favor. quero utiliza essa função para cadastro com o methodo $_GET
  6. <?php require_once 'lib/Database/Connection.php'; require_once 'Crud.php'; class UsuarioModel extends Crud { protected $table = 'usuario'; private $nome; private $arquivo; private $formacao; private $nivel; private $email; private $senha; private $curso; private $disciplina; private $periodo; public function setNome($nome) { $this->nome = $nome; } public function setArquivo() { $this->arquivo = $arquivo; } public function setFormacao($formacao) { $this->formacao = $formacao; } public function setNivel($nivel) { $this->nivel = $nivel; } public function setEmail($email) { $this->email = $email; } public function setSenha($senha) { $this->senha = $senha ; } public function setCurso($curso) { $this->curso = $curso; } public function setDisciplina($disciplina) { $this->disciplina = $disciplina; } public function setPeriodo($periodo) { $this->periodo = $periodo; } public function insert() { $sql = "INSERT INTO $this->table (nome, arquivo, formacao, nivel, email, senha, curso, disciplina, periodo) VALUES (:nome, :arquivo, :formacao, :nivel, :email, :senha, :curso, :disciplina, :periodo)"; $stmt = Connection::prepare($sql); $stmt->bindParam(':nome', $this->nome); $stmt->bindParam(':arquivo', $this->arquivo); $stmt->bindParam(':formacao',$this->formacao ); $stmt->bindParam(':nivel', $this->nivel); $stmt->bindParam(':email', $this->email); $stmt->bindParam(':senha', $this->senha); $stmt->bindParam(':curso', $this->curso); $stmt->bindParam(':disciplina',$this->disciplina); $stmt->bindParam(':periodo', $this->periodo); return $stmt->execute(); } public function update($id) { $sql = "UPDATE $this->table SET nome = :nome, arquivo = :arquivo, formacao = :formacao, nivel = :nivel, email = :email, senha = :senha, curso = :curso, disciplina = :disciplina, periodo = :periodo WHERE id = :id"; $stmt = Connection::prepare($sql); $stmt->bindParam(':nome', $this->nome); $stmt->bindParam(':arquivo', $this->arquivo); $stmt->bindParam(':formacao',$this->formacao ); $stmt->bindParam(':nivel', $this->nivel); $stmt->bindParam(':email', $this->email); $stmt->bindParam(':senha', $this->senha); $stmt->bindParam(':curso', $this->curso); $stmt->bindParam(':disciplina',$this->disciplina); $stmt->bindParam(':periodo', $this->periodo); $stmt->bindParam(':id', $id); return $stmt->execute(); }
  7. Nessa página eu quero editar o perfil do usuário, para isso peço que ele informe um novo nome de usuário e novo email, o problema e que nada acontece, não mostra nenhum erro, e não faz o update. Já olhei e revisei o código e não achei o erro.. OBS: Sou novo aqui no fórum e no php, se puderam ajudar eu realmente agradeço! --Form HTML-- <div id="fundo-perfil"> <form method="POST"> <label>Nome de Usuário</label><br> <input type="text" class="form-control" name="usuario" id="usuario" required="required" placeholder="<?php echo $_SESSION['usuario'] ?>" style="width: 100%;" > <br> <label>Email</label> <input type=" text" class="form-control" id="email" name="email" required="required" placeholder="<?php echo $_SESSION['email'] ?>" ><br><br> <input type="submit" value="Editar Perfil" class="btn btn-success" name="editar" id="deletar-perfil" > <hr style="background-color: white;"> <a href="perfil.php" class="btn btn-danger" id="deletar-perfil">Cancelar</a><br> <p style="color: yellow; margin: 10px">Escolha um novo nome de usuário ou email valido. Ambos devem ser substituídos! </p> </form> </div> --código php na mesma página do html-- if (isset($_POST['editar'])) { $usuario = addslashes($_POST['usuario']); $email = addslashes($_POST['email']); $u->conectar("site", "localhost", "root", ""); if ($u->msgErro == "") { if ($u->alterarP($usuario, $email)) { ?> <div class="alert alert-success" role="alert" style="margin-bottom: 10px;"> Perfil alterado com sucesso! faça login novamente para ver as mudanças. </div> <?php } } else { ?> <div class="alert alert-danger" role="alert" style="margin-bottom: 10px;"> O perfil não pode ser alterado pois o nome de usuário ou email já se encontram cadastrados! </div> <?php } } ?> --Método para alterar o perfil-- public function alterarP($usuario, $email){ global $pdo; //Verificar se o novo usuario ou email já existe $sql = $pdo->prepare("SELECT id FROM usuarios WHERE usuario = :usuario OR email = :email"); $sql->bindValue(":usuario",$usuario); $sql->bindValue(":email",$email); $sql->execute(); if($sql->rowCount() > 0){ return false; }else{ $cmd = $pdo->prepare("UPDATE usuarios SET usuario = :usuario, email = :email WHERE usuario = :usuario"); $cmd->bindValue(":usuario",$usuario); $cmd->bindValue(":email",$email); $cmd->execute(); return true; } }
  8. feasso

    PDO database extensions

    Como configurar o meu servidor AWS (EC2) para suportar PHP Data Objects ?
  9. Tenho uma consulta que, as vezes, seu conteúdo (enviado via parâmetro) pode ser nulo e em outras é um número inteiro e, lógico, quando o conteúdo é nulo - da forma que a consulta foi construída - não funciona. Alguma ideia? public function ProcurarAfastado($patente, $cargo){ $sql = "select * from vwPessoal where pe_status = 'A' and pe_des_motivo is not NULL and pa_patente = :pa and ca_cargo = :ca order by pe_nome"; try{ $stmt = $this->pdo->prepare($sql); $stmt->bindValue(":pa", $patente); $stmt->bindValue(":ca", $cargo); $stmt->execute(); $ret = $stmt->fetchAll(); return $ret; } catch (Exception $e) { print "Ocorreu um erro ao tentar executar esta ação, foi gerado um LOG do mesmo, informe a Central.</br>"; } }
  10. Samuel Pietro

    Erro na consulta PDO

    Preciso da ajuda de vocês para corrigir um erro com meu código. O login é processado por logar.php, mas na linha 19 apresenta o seguinte erro: Fatal error: Uncaught Error: Call to a member function prepare() on null in /home2/********/cnab/logar.php:19 Stack trace: #0 {main} thrown in /home2/********/cnab/logar.php on line 19 O código completo pode ser encontrado no repositorio do GitHub: https://github.com/Sampietro/cnab É executado em https://cnab.sampietro.com.br/logar.php
  11. Diego Carlos

    PDO e SqlSever instrução Binary

    Bom dia Estou com um problema, da seguinte forma tenho essa instrução simples para inserir no banco de dados $login = 'diego'; $sqlBilling = 'INSERT INTO BILLING.dbo.tbl_personal_billing (ID, BillingType) VALUES (CONVERT (binary(13), ?), ?)'; $registroBilling = $con->prepare($sqlBilling); $registroBilling->bindValue(1, $login); $registroBilling->bindValue(2, 2); $registroBilling->execute(); ela inseri normal, porem quando vou chegar ela no banco de dados ele esta salvando dessa forma d i e g o porem se eu executo a mesma instrução direto no banco de dados INSERT INTO BILLING.dbo.tbl_personal_billing (ID, BillingType) VALUES (CONVERT (binary(13), 'diego'), 2) ele inseri normal já fiz de tudo coloquei parâmetro na frente do bindValue passando que diego e um STR $registroBilling->bindValue(1, $login, PDO::PARAM_STR); já tentei fazer sem o prepare, fazendo direto pela qurey $registroBilling = $con->query('INSERT INTO BILLING.dbo.tbl_personal_billing (ID, BillingType) VALUES (CONVERT (binary(13), 'diego'), 2)'); mesmo resultado já fiz no php 7.1 no php 5.6 os dois da a mesma coisa, e o sql e o sqlserver 2008 ai me restou pedir ajuda rs se puder me ajudar agradeço
  12. Não estou conseguindo inserir dados em uma tabela n:m Codigo do formulario: <?php session_start(); ?> <!DOCTYPE html> <html> <head> <meta charset ="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="../_css/botoes.css"> <link rel="stylesheet" type="text/css" href="../_css/formulario.css"> <title>Cadastro de Pedido/Produto</title> </head> <body> <!-- Menu --> <nav class="navbar navbar-expand-lg navbar-light bg-primary"> <div class="data" style="text-align:right;"> <script type="text/javascript" src="../js/data.js"></script> </div> <div class="container"> <div class="collapse navbar-collapse" id="navbarSite"> <ul class="navbar-nav mr-auto mb-0 mx-auto"> <li class="nav-item"> <a class="nav-link" href="../index.php">Inicio</a> </li> <li class="nav-item"> <a class="nav-link" href="../read/listarPedidoProduto.php"> Tabela </a> </li> </ul> </div> </div> <div class="hora"> <label ID="Clock">00:00:00</label> <script type="text/javascript" src="../js/hora.js"></script> </div> </nav> <!--Fim do menu--> <div class="container"> <h1 class="text-center"> Cadastro de Pedido Produto</h1> <form method="post" action="processaPedidoProduto.php" class="form-signin"> <input type="text" name="pedido_numero" class="form-control" placeholder="Numero do Pedido"> <br><br> <input type="text" name="produto_codigo" class="form-control" placeholder="Codigo do Produto"><br><br> <input type="text" name="quantidade" class="form-control" placeholder=" Quantidade Pedida"><br><br> <input type="submit" name="enviarCadastro" value="Cadastrar" class="form-control btn btn-estilo"><br><br> <input type="reset" value="Apagar" class="form-control btn btn-estilo"> </form> <div class="container text-center"> <?php if(isset($_SESSION['msg'])){ echo $_SESSION['msg']; unset($_SESSION['msg']); } ?> </div> </div> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script> <script src="../js/personalizado.js"></script> </body> </html> Codigo que envia os dados para o banco: <?php session_start(); include("../conexao.php"); $pedido_numero =$_POST['pedido_numero']; $produto_codigo =$_POST['produto_codigo']; $quantidade =$_POST['quantidade']; $sql = "INSERT INTO pedido_produto(pedido_numero, produto_codigo, quantidade) VALUES($pedido_numero, '$produto_codigo', $quantidade)"; if($conexao->exec($sql)){ $_SESSION['msg'] = "<p style = 'color:green;'>Cadastro Realizado com sucesso!</p>"; }else{ $_SESSION['msg'] = "<p style = 'color:red;'>Erro: Cadastro falhou!</p>"; } header("Location: cadastrarPedidoProduto.php"); ?> codigo da tabela em questão: CREATE TABLE IF NOT EXISTS `pedido_produto` ( `pedido_numero` INT NOT NULL, `produto_codigo` VARCHAR(45) NOT NULL, `quantidade` INT NOT NULL, PRIMARY KEY (`pedido_numero`, `produto_codigo`), INDEX `fk_produto_codigo_idx` (`produto_codigo` ASC) , INDEX `fk_pedido_numero_idx` (`pedido_numero` ASC) , CONSTRAINT `fk_produto_pedido` FOREIGN KEY (`pedido_numero`) REFERENCES .`pedido` (`numero`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_produto_codigo` FOREIGN KEY (`produto_codigo`) REFERENCES .`produto` (`codigo`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; Estou conseguindo visualizar e deletar os dados, mas inserir e atualizar, não estou conseguindo. Obs: tenho outras 3 tabelas e utilizo o mesmo comando para inserir e elas inserem tudo certinho
  13. Olá. eu gostaria de tirar uma dúvida que já faz exatamente 1 dia que eu estou fazendo pesquisas e nada. Minha dúvida é a seguinte, Estou fazendo um aplicativo de mensagem por browser se e que pode se chamar assim. Tipo eu tenho o loby de mensagem semelhante ao Whatsapp e quando a pessoa clica em conversas eu faço a consulta via ajax Nesta consulta eu só informo o meu id ou seja o id do usuário logado. e na pagina php eu faço a seguinte consulta no banco de dados: Procurar por todas as mensagens da tabela: privado, Nesta consulta me retorna todas as mensagens cujo meu id existe como na coluna: Para, com o status da mensagem valor 0 Ou seja 0= Disponível e 1 seria deletada. este e o código usado: $sql = $db->prepare("SELECT * FROM privado WHERE Para = '$ID_user' AND Status = '0' ORDER BY id DESC"); $sql->execute(); Continuando; Após o fazer esta consulta coloquei para listar tudo com o while, colocando todos os id dos usuários em uma variável e dentro deste mesmo while eu faço Outra consulta por os usuários informado pela variável id da pessoa que mandou. e isso ocorre com sucesso, ou seja eu consigo fazer quase tudo que eu quero. Procurei pelas mensagem, pesquisei por estes usuários mostro: Nome, foto, e a mensagem; Este e o código usado: while($dados = $sql->fetch(PDO::FETCH_OBJ)){ $ID_De = ($dados -> De); $U_mensagem = ($dados -> Texto); $sql1 = $db->prepare("SELECT * FROM usuarios WHERE id = '$ID_De' ORDER BY id DESC"); $sql1->execute(); while($dados1 = $sql1->fetch(PDO::FETCH_OBJ)){ $Foto = ($dados1 -> foto == "") ? "defaut.png" : $dados1 -> foto; $Nome = ($dados1 -> nome); echo "Nome: ".$Nome."<br>Foto: ".$Foto."<br>Mensagem: ".$U_mensagem."<br><br>"; } } No final fica tudo assim: Nome: ModeradorFoto: user_3.pngMensagem: Mensagem do moderadorNome: RonaldoFoto: user_1.pngMensagem: Como vai você?Nome: RonaldoFoto: user_1.pngMensagem: Olá Mas no final das contas eu gostaria de saber somente uma coisa para que meu projeto funcione como quero: Eu quero que a listagem da ultima mensagem de cada usuário não todas as mensagem daquele usuário, ou seja somente da ultima mensagem de cada um usuário "Tabela nome: usuários Colunas: [ id, De, Para, Texto, Status ]" Este e o código completo da pagina: <?php $Hostname = "localhost"; $Database = "servidor_app"; $Charset = "utf8"; $Username = "root"; $Password = ""; $db = new PDO('mysql:host='.$Hostname.';dbname='.$Database.';charset='.$Charset.'', $Username, $Password); $db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $URL_ATUAL= "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; parse_str(parse_url($URL_ATUAL, PHP_URL_QUERY), $vamos_ver); $ID_user = $vamos_ver['id']; $sql = $db->prepare("SELECT * FROM privado WHERE Para = '$ID_user' AND Status = '0' ORDER BY id DESC"); $sql->execute(); while($dados = $sql->fetch(PDO::FETCH_OBJ)){ $ID_De = ($dados -> De); $U_mensagem = ($dados -> Texto); $sql1 = $db->prepare("SELECT * FROM usuarios WHERE id = '$ID_De' ORDER BY id DESC"); $sql1->execute(); while($dados1 = $sql1->fetch(PDO::FETCH_OBJ)){ $Foto = ($dados1 -> foto == "") ? "defaut.png" : $dados1 -> foto; $Nome = ($dados1 -> nome); echo "Nome: ".$Nome."<br>Foto: ".$Foto."<br>Mensagem: ".$U_mensagem."<br><br>"; } } ?> Pro favor preciso de ajuda urgente. Atenciosamente, ~Ronaldo
  14. Boa Tarde Turma, estou tentando puxar dados de duas tabelas em bancos de dados diferentes com usuario e senha diferente em casa banco mas esta trazendo nada: include 'conectarel.php'; // abre a conexão e define codificação UTF-8 $PDO = new PDO('mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB, MYSQL_USER, MYSQL_PASSWORD); $PDO2 = new PDO('mysql:host=' . MYSQL_HOST2 . ';dbname=' . MYSQL_DB2, MYSQL_USER2, MYSQL_PASSWORD2); $sql = "SELECT n.ano as AnoLetivo, c.id_comissao, c.comissao AS comissao, a.id_ata, a.numero, a.id_comissao, a.descricao, a.ano, a.data FROM admin_cmcorumbatai.atas AS a INNER JOIN admin_cmcorumbatai.comissao c ON c.id_comissao = a.id_comissao INNER JOIN admin_moderador.ano n ON n.id_ano = a.ano WHERE 1=1 "; $sql .= " order by a.numero DESC, a.ano DESC "; //$PDO->exec("set names utf8"); // cria o Prepared Statement $stmt = $PDO->prepare($sql); $stmt .= $PDO2->prepare($sql); // faz o bind dos valores dos filtros // executa a query $stmt->execute(); // cria um array com os resultados $atas = $stmt->fetchAll(PDO::FETCH_ASSOC); print_r($atas); //paginacao independe da forma que vem o resultado, ele pega a qtde do result e divide em paginas $porPagina = 8; $paginas = ceil(count($atas)/$porPagina); $pagina = empty($_POST['pag']) ? 1 : $_POST['pag']; //a função array_slice extrai uma fatia do vetor, no caso, a parte específica da página $primeiro = ($pagina-1) * $porPagina; //obs: a primeira posição do vetor começa em zero $resultadoPagina = array_slice($atas, $primeiro, $porPagina); <?php if(count($resultadoPagina)>0){ foreach($resultadoPagina as $i=>$ata){ echo "<div class=\"panel panel-default\">"; echo "<table class=\"table table-bordered table-condensed tabelalicitacao\"> <tbody> <tr> <td colspan=\"6\" class=\"tdpreto\" style=\"background-color:#02284e;\"><strong><font color=\"#ffffff\"> Número :".$ata['numero']."/".$ata['AnoLetivo']."</font></strong></td> </tr> <tr> <td class=\"tdcinza\" valign=\"top\" style=\"background-color:#f5f5f5;\"><strong>Data:</strong></td> <td>".TrataDataHora($ata['data'])."</td> </tr> <tr> <td class=\"tdcinza\" valign=\"top\" style=\"background-color:#f5f5f5;\"><strong>Descrição:</strong></td> <td colspan=\"4\">".$ata['descricao']."</td> </tr> <tr> <td class=\"tdcinza\" style=\"background-color:#f5f5f5;\"><strong>Comissão:</strong></td> <td>"; echo $ata['comissao']; echo "</tr> <tr> <td colspan=\"2\">"; echo "<a href=\"documentos/atas/".$ata["id_ata"].".pdf\" target=\"_blank\">BAIXAR</a>"; echo "</td></tr> </tbody> </table>"; echo "</div>"; } }else{ echo "Nenhuma licitação encontrada."; } ?> Alguem poderias me ajudar, já tentei de tudo e pesquisei e não achei nada parecido na net. Obrigado galera !!!
  15. Olá, Estou precisando inserir alguns dados diretamente no banco saindo dos campos inputs. Preciso que cada item do array seja cadastrado no banco, por exemplo o cliente vai comprar 3 ingressos, que os nomes dos 3 ingressos apareçam um a um nos registros. Ajustei os códigos abaixo, mas não funciona. Primeiro veja como está o html: <label for="nomeingresso">Ingresso:</label> <input type="text" id="ingresso" name="ingresso[]" placeholder="Ex.: Ingresso Conferência" class="form-control name_list" value="<?php echo $row_ingressos['ingresso'];?>" readonly required /> <label for="valoringresso">Valor:</label> <input type="text" class="form-control" id="valor" name="valor[]" placeholder="Ex.: 1.150,00" value="<?php echo $row_ingressos['valor'];?>" readonly required> <label for="nomeingresso">Quantidade:</label> <input type="number" id="quantidade" name="quantidade[]" class="form-control name_list" value="" min="0" required /> <input name="idingresso[]" type="hidden" id="idingresso" value="<?php echo $row_ingressos['id_ingresso']; ?>"> Bom, no código abaixo só funciona se eu tirar o foreach, com ele o código não insere os dados no banco. Estou testando o cadastro apenas com o campo ingresso para ver se funciona para depois adicionar os campos valor e quantidade, portanto não insere. function salvarIngresso(){ $ingresso = $_POST['ingresso']; $valor = $_POST['valor']; $quantidade = $_POST['quantidade']; try { // begin the transaction $this->pdo->beginTransaction(); // our SQL statements foreach($ingresso as $key => $ing){ $this->pdo->exec("INSERT INTO evn_pedidos_ing (ing) VALUES ('$ing');"); } // commit the transaction $this->pdo->commit(); echo "New records created successfully"; } catch(PDOException $e) { // roll back the transaction if something failed $this->pdo->rollback(); echo "Error: " . $e->getMessage(); } } A função de conexão é esta abaixo: function __construct(){ $this->pdo = new PDO('mysql:host='.$this->host.';dbname='.$this->db, $this->usuario, $this->senha); } Para entender melhor qual é o passo a passo do que estou tentando fazer tem um link abaixo. Ao clicar no botão "Inscrever" surge o lightbox do Pagseguro, então ele automaticamente insere no banco. Vale ressaltar que só não funciona com o FOREACH, sem esta função o código cadastra normalmente, porém só leva o primeiro item do array. Agradeço pela ajuda.
  16. Bom Dia. Será que alguém me pode ajudar? Na semana anterior estive com um professor a desenvolver um programa de insert, que também servirá para o Select/Delete/Update. Mas estou “preso”, pois, ele disse-me que eu poderia adaptar o código para as outras três opções. Passado quase uma semana não consegui fazer nada, será que alguém me consegue ajudar vendo o meu código? Obrigado, Gonçalo Silva <?php $self = $_SERVER['PHP_SELF']; $host_name = "127.0.0.1"; $database = "visteon"; $username = "root"; $password = ""; $Tabela =""; try { $dbo = new PDO('mysql:host='.$host_name.';dbname='.$database, $username, $password); } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } // Selecicionar Tabela if(!isset($_POST['submeterTabela']) && !isset($_POST['submeterDados'])) { $form ="<form action=\"$self\" method=\"post\">"; $result = $dbo->query("SHOW TABLES"); $form.= "<select name='Tabela' class='select_box'>"; while ($row = $result->fetch(PDO::FETCH_NUM)) { $form.= "<option value='$row[0]'>$row[0]</option>"; } $form.= "</select>"; $form.="<br><input type=\"submit\" name=\"submeterTabela\" value=\"Submeter\"class='button'>"; echo($form); } // Preencher dados if(isset($_POST['submeterTabela']) && !isset($_POST['submeterDados'])) { $Tabela=$_POST['Tabela']; $form ="<form action=\"$self\" method=\"post\">"; $form.="<input type=\"hidden\" name=\"Tabela\"class='tabela1'value=\"$Tabela\"> <br>"; $form.="Introduz Dados<br>"; $sql ="SHOW columns from ".$Tabela; $result = $dbo->query($sql); while ($row = $result->fetch(PDO::FETCH_NUM)) { $sql1="select Campo from descritivoscampos where Tabela='".$Tabela."' and Campo='".$row[0]."';"; $Resultado = $dbo->query($sql1); $linha = $Resultado->fetch(PDO::FETCH_NUM); $form .= "$linha[0]"; $form.="<input type=\"text\" name=\"$row[0]\" size=\"5\"><br>"; } $form.=" <br><input type=\"submit\" name=\"submeterDados\"class='botao'value=\"Submeter\">"; echo($form); } if(isset($_POST['submeterDados'])) { $Tabela=$_POST['Tabela']; $sql ="SHOW columns from ".$Tabela; $result = $dbo->query($sql); $sql1 = "insert into $Tabela("; $aux=0; while ($row = $result->fetch(PDO::FETCH_NUM)) { if ($aux!=0) $sql1 .=", "; if ($row[0]!='id') { $sql1 .="$row[0]"; $aux=1; } } $sql1 .=") values ("; $result = $dbo->query($sql); $aux=0; while ($row = $result->fetch(PDO::FETCH_NUM)) { if ($aux!=0) $sql1 .= ", "; if ($row[0]!='id') { $aa=$_POST[$row[0]]; $sql1 .="'$aa'"; //$sql1 .="$row[0]"; $aux=1; } } $sql1 .=");"; $conn = mysqli_connect($host_name, $username, $password, $database) or die("Could not connect."); $result = mysqli_query($conn, $sql1) or die("Could not execute SQL query"); if ($result) { echo("Informação introduzida com Sucesso!!"); } } ?> Sinceramente já não sei o que mais fazer necessito mesmo de uma ajuda. Obrigado.
  17. Tenho um select em PDO e preciso que a consulta retornada vire uma variavel, mas a variavel só pega a ultima linha da tabela e eu preciso que pegue todas as linhas que existirem. $conexao = conexao::getInstance(); $sql = 'SELECT * FROM RegistroE'; $stm = $conexao->prepare($sql); $stm->execute(); $Sql = $stm->fetchAll(PDO::FETCH_OBJ); foreach ($Sql as $SqlReg): $conteudo_meio = picture_X($SqlReg->E_01,1) .picture_X($SqlReg->E_02,25) .picture_9($SqlReg->E_03,4) .picture_X($SqlReg->E_04,14) .picture_9($SqlReg->E_05,8) .picture_9($SqlReg->E_06,8) .picture_9($SqlReg->E_07,8) .picture_9($SqlReg->E_08,8) .picture_9($SqlReg->E_09,8) .complementoRegistro(96,"brancos") .picture_9($SqlReg->E_11,1) .complementoRegistro(1,"brancos") ; endforeach; Como eu poderia está fazendo isto?
  18. Samuel Pietro

    Select só exibe a ultima linha da tabela

    Estou desenvolvendo um sistema para gerar arquivos de remessa para a CEF (Seguindo o padrão CNAB150) Até então tudo Okay. Meu problema está na hora de gerar a remessa que só consta a ultima linha da respectiva tabela no Banco de dados. Eu preciso que gere com todas as linhas que estiverem na tabela (Mais pra frente irei colocar alguns filtros para gerar por data ou por Numero de Serie) Minha conexão com o Banco está assim: <?php define('SGBD', 'mysql'); define('HOST', 'localhost'); define('DBNAME', '******'); define('CHARSET', 'utf8'); define('USER', '*******'); define('PASSWORD', '******'); 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; } } Minhas Functions <?php /*Campos Numéricos (“Picture 9”) • Alinhamento: sempre à direita, preenchido com zeros à esquerda, sem máscara de edição; • Não utilizados: preencher com zeros. */ function picture_9($palavra,$limite){ $var=str_pad($palavra, $limite, "0", STR_PAD_LEFT); return $var; } /* Campos Alfanuméricos (“Picture X”) • Alinhamento: sempre à esquerda, preenchido com brancos à direita; • Não utilizados: preencher com brancos; • Caracteres: maiúsculos, sem acentuação, sem ‘ç’, sem caracteres especiais. */ function picture_x( $palavra, $limite ){ $var = str_pad( $palavra, $limite, " ", STR_PAD_RIGHT ); $var = remover_acentos( $var ); if( strlen( $palavra ) >= $limite ){ $var = substr( $palavra, 0, $limite ); } $var = strtoupper( $var );// converte em letra maiuscula return $var; } function sequencial($i) { if($i < 10) { return zeros(0,5).$i; } else if($i > 10 && $i < 100) { return zeros(0,4).$i; } else if($i > 100 && $i < 1000) { return zeros(0,3).$i; } else if($i > 1000 && $i < 10000) { return zeros(0,2).$i; } else if($i > 10000 && $i < 100000) { return zeros(0,1).$i; } } function zeros($min,$max) { $x = ($max - strlen($min)); for($i = 0; $i < $x; $i++) { $zeros .= '0'; } return $zeros.$min; } function complementoRegistro($int,$tipo) { if($tipo == "zeros") { $space = ''; for($i = 1; $i <= $int; $i++) { $space .= '0'; } } else if($tipo == "brancos") { $space = ''; for($i = 1; $i <= $int; $i++) { $space .= ' '; } } return $space; } ?> E Finalmente o meu Select $conexao = conexao::getInstance(); $sql = 'SELECT * FROM RegistroE'; $stm = $conexao->prepare($sql); $stm->execute(); $Sql = $stm->fetchAll(PDO::FETCH_ASSOC);//Já tentei usar tmb $Sql = $stm->fetchAll(PDO::FETCH_OBJ); MAS O PROBLEMA PERSISTE foreach($Sql as $SqlReg): $conteudo_meio= picture_X($SqlReg->E_01,1) .picture_X($SqlReg->E_02,25) .picture_9($SqlReg->E_03,4) .picture_X($SqlReg->E_04,14) .picture_9($SqlReg->E_05,8) .picture_9($SqlReg->E_06,8) .picture_9($SqlReg->E_07,8) .picture_9($SqlReg->E_08,8) .picture_9($SqlReg->E_09,8) .complementoRegistro(96,"brancos") .picture_9($SqlReg->E_11,1) .complementoRegistro(1,"brancos") ; endforeach; Eu preciso da ajuda para listar todos os registros e não apenas o ultimo.
  19. Boa tarde pessoal. Estou precisando exibir na table, em forma de tabela, os resultado que uma query me retorna. O problema é que tenho que fazer isso de forma dinâmica, sem precisar acessar o nome das colunas da query. Quero que exiba os resultados automaticamente. Preciso exibir exatamente como o phpmyadmin exibe quando fazemos um query por la. Fiz assim (USANDO PDO) while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ foreach($row as $field => $value){ echo $field.": ".$value."<br>"; } } O problema é que dessa forma ele exibe o conteúdo em $field várias vezes. Por exemplo: Da forma acima, é exibido assim: NOME | CPF | CURSO XXX | VVV | AAAA NOME | CPF | CURSO YY | BBB | DFAA NOME | CPF | CURSO YY | BBB | DFAA E assim sucessivamente, enquanto tiver resultados da query Mas preciso que fique assim: NOME | CPF | CURSO XXX | VVV | AAAA ]YY | BBB | DFAA YY | BBB | DFAA Entenderam?
  20. Boa tarde a Todos...Estou com um problema que é o seguinte, preciso mostrar um relatório de controle de estoque que me da todos os produtos sem repetir tenho isso cadastrado Produto A - 10 - 12,00 Produto B - 5 - 13,00 Produto C- 5 - 15,00 Produto A - 12 - 35,00 Produto A - 23 - 55,00 Produto C - 30 - 150,00 Produto B - 5 - 13,00 Preciso Mostrar isso no controle de estoque Produto A - QTD TOTAL - VALOR TOTAL Produto B - QTD TOTAL - VALOR TOTAL Produto C - QTD TOTAL - VALOR TOTAL Meu código é PDO Obrigado
  21. EHCampos

    PDO SELECT

    Sou novo com PDO estou tentando fazer uma consulta em ordem decrescente porem não esta funcionando $usr= $pdo->prepare("SELECT * FROM usuario WHERE id = :id ORDER BY :rank DESC"); $usr->bindValue(':id', $_GET['id'], PDO::PARAM_INT); $usr->bindValue(':rank',$_GET['rank']); $usr->execute(); Quando executo um $count = $usr->rowCount(); echo $count; Ele mostra corretamente a quantidade de registro. porem quando tento exibir os mesmos em um while($row=$usr->fetch( PDO::FETCH_ASSOC )) Ele não me retorna nem um resultado Se eu inserir diretamente no SELECT funciona normal $usr= $pdo->prepare("SELECT * FROM usuario WHERE id = :id ORDER BY $_GET['rank'] DESC"); $usr->bindValue(':id', $_GET['id'], PDO::PARAM_INT); //$usr->bindValue(':rank',$_GET['rank']); $usr->execute();
  22. Olá amigos, estou tentando aprender sobre orientações de objetos e tudo mais e encontrei um tutorial ensinando a fazer um sistema de login bem bacana, com token e serial e decidi tentar. o sistema é o seguinte: O usuario acessa o index que consulta se $bdh esta ok (logado), se nao estiver ele joga para a pagina de login e cria um cookie e session com os dados para ver as tentativas e etc. se ele ficar errando, bloqueia e etc, se ele acessar cria os cookies e sessions com "id de usuario", "token", "serial". até ai ta funcionando tudo redondinho... até que entra a bendita função: public static function createRecord($dbh, $user_username, $user_id) { $query = "INSERT INTO sessions (session_userid, sessions_token, sessions_serial) VALUES (:user_id, :token, :serial;)"; $dbh->prepare("DELETE FROM sessions WHERE sessions_userid= :sessions_userid;")->execute(array(':sessions_userid' => $user_id)); $token = func::createString(30); //funciona $serial = func::createString(30); //funciona func::createCookie($user_username, $user_id, $token, $serial); //funciona func::createSession($user_username, $user_id, $token, $serial); //funciona $stmt = $dbh->prepare($query); $stmt->execute(array(':user_id' => $user_id, ':token' => $token, ':serial' => $serial)); } todas as demais funçoes que estao na mesma functions.php estão funcionando. a ideia desse sistema de login é verificar se a $dbh esta 100%, entao exibir o conteudo da pagina, conforme codigo abaixo: <?php if (!func::checkLoginState($dbh)) { header("location:login.php"); exit(); } echo 'olá ' . $_SESSION['username'] . '!'; ?> a função checkLoginState public static function checkLoginState($dbh) { if (!isset($_SESSION)) { session_start(); } if (isset($_COOKIE['userid']) && isset($_COOKIE['token']) && isset($_COOKIE['serial'])) { $query = "SELECT * FROM sessions WHERE sessions_userid = :userid AND sessions_token = :token AND sessions_serial = :serial;"; $userid = $_COOKIE['userid']; $token = $_COOKIE['token']; $serial = $_COOKIE['serial']; $stmt = $dbh->prepare($query); $stmt->execute(array(':userid' => $userid, ':token' => $token, ':serial' => $serial)); $row = $stmt->fetch(PDO::FETCH_ASSOC); if ($row['sessions_userid'] > 0) { if ( $row['sessions_userid'] == $_COOKIE['userid'] && $row['sessions_token'] == $_COOKIE['token'] && $row['sessions_serial'] == $_COOKIE['serial'] ) { if ( $row['sessions_userid'] == $_SESSION['userid'] && $row['sessions_token'] == $_SESSION['token'] && $row['sessions_serial'] == $_SESSION['serial'] ) { return true; } else { func::createSession($_COOKIE['username'], $_COOKIE['userid'], $_COOKIE['token'], $_COOKIE['serial']); return true; } } } } } ele não está armazenando dados na tabela sessions entao tbm nao consulta ai a conferencia da $dbh da erro e nada loga alguem consegue me dar uma luz??? estou a 2 dias batendo a cabeça nisso valeu
  23. gersonab

    resultado não aparece

    Tenho este sql que funciona normal: <?php $idtor = (int)$_GET['id_tor']; $dia = $_GET['dia']; $sql3 = "SELECT * FROM cantos INNER JOIN campeonato ON id_camp = id_campeonato INNER JOIN torneio ON id_tor = id_torneio WHERE data = :dia AND id_torneio = :idtor ORDER BY cantosfim DESC, pontos DESC, cantos DESC"; $stmt = $pdo->prepare($sql3); $stmt->bindParam(':idtor', $idtor); $stmt->bindParam(':dia', $dia); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { ?> porém este outro não retorna nada, nem erro... <?php $idtor = (int)$_GET['id_tor']; $consul = "SELECT id_cantos, id_torneio, id_campeonato, SUM(cantosfim) AS cantfin, SUM(pontos) AS pontfin FROM cantos INNER JOIN campeonato ON id_camp = id_campeonato INNER JOIN torneio ON id_tor = id_torneio WHERE id_tor = :idtor ORDER BY pontfin DESC, cantfin DESC"; $stmt = $pdo->prepare($consul); $stmt->bindValue(':idtor', $idtor); $stmt->execute(); while ($lin = $stmt->fetch(PDO::FETCH_ASSOC)) { ?> não consigo encontrar o erro.
  24. Estou montando um website e gostaria de saber como faço para o usuário que acabou de deslogar ficar na mesma pagina ? por exemplo, na programação atual, ele clica em " Sair " e vai automaticamente para a index, independente de onde esteja. eu gostaria q ele permanecesse na mesma pagina em que estava programação q faz o mesmo deslogar... //essa é a navbar.php <li><a href="?sair=sim">Sair</a></li> // Esse é o logado.php if(isset($_GET['sair']) == "sim"){ $objUser->sairUsuario(); } //e esse é o usuarios.class.php public function sairUsuario(){ session_destroy(); header ('location: index.php '); }
  25. LuanMartinsTI

    Existe perigo ao criar uma funcao assim

    Eu gostaria de saber se existe algum problema relacionado a seguranca criando uma funcao assim, no exemplo sempre que eu crio uma funcao pre reutilizar os dados sao passados direto na chamada da funcao dentro do php, o usuario nao insere nenhum dado, quando o usuario vai inserir dados eu nao trabalho dessa forma, entao minha duvida [e, se mesmo o parametro da funcao sendo informado dentro do php no codigo pode existir algum problema. public function contar_cadastro($tabela, $sql){ try { if($sql == null){ $this->Select = $this->Conn->prepare("SELECT * FROM $tabela"); $this->Select->execute(); return $this->Select->rowCount(); }else{ $this->Select = $this->Conn->prepare("SELECT * FROM $tabela". " " ." $sql"); $this->Select->execute(); return $this->Select->rowCount(); } } catch (PDOException $exc) { exibeMensagens($Msg, $ErrNo); } } E as chamadas das funcoes assim $cmsPDO = new CmsPDO(); $r_userStaff = $cmsPDO->contar_cadastro('usuarios', ' where cargo > 2'); $r_userVip = $cmsPDO->contar_cadastro('usuarios', ' where cargo = 2'); $r_userBan = $cmsPDO->contar_cadastro('usuarios', " where ban = '1'"); $r_usuarioPDO = $cmsPDO->contar_cadastro('usuarios', null); $r_servVip = $cmsPDO->contar_cadastro('servidores', " where vipfree = 'V'"); $r_servFree = $cmsPDO->contar_cadastro('servidores', " where vipfree = 'F'"); $r_servInat = $cmsPDO->contar_cadastro('servidores', " where verificado = '1'"); $r_servOff = $cmsPDO->contar_cadastro('servidores', " where estado = 'Off'"); $r_servOn = $cmsPDO->contar_cadastro('servidores', " where estado = 'On'"); $r_servidores = $cmsPDO->contar_cadastro('servidores', null); Eu normalmente crio as funcoes assim: public function cadastrar_usuario($usuario){ try { if($this->veriricarnick($usuario) == false){ if($this->verificiarEmail($usuario) == false){ $query = 'INSERT INTO usuarios ' . '(id, nome, senha, email, cargo, ip)' . 'value(null,:nome, :senha, :email, :cargo, :ip)'; $this->Criar = $this->Conn->prepare($query); $this->Criar->bindValue(':nome' , $usuario->getNome() , PDO::PARAM_STR); $this->Criar->bindValue(':senha' , $usuario->getSenha(), PDO::PARAM_STR); $this->Criar->bindValue(':email' , $usuario->getEmail(), PDO::PARAM_STR); $this->Criar->bindValue(':cargo' , $usuario->getCargo(), PDO::PARAM_INT); $this->Criar->bindValue(':ip' , $usuario->getIp() , PDO::PARAM_STR); $this->Criar->execute(); if($this->Criar->rowCount() == 1){ return 1; }else{ return false; } }else{ return false; } }else{ return false; } } catch (PDOException $exc) { exibeMensagens("<b> Erro ao inserir.</b> Mensagem:{$exc->getMessage()} Código: {$exc->getCode()}", WS_ERROR); } }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.