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 222 results

  1. Jeová Oliveira dos Santos

    Erro ao Acessar via PDO

    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
  2. 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?
  3. 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(); } ?>
  4. Gildvan Arley

    Remover ID de um SELECT

    <?php $consulta = $conexao->query('SELECT * FROM nomevip '); while ($exibir=$consulta->fetch(PDO::FETCH_ASSOC)){ ?> Olá Como posso remover 13 ids desse SELECT do 1 ao 13
  5. andrelimaverde

    Salvar formulário PHP PDO Banco de Dados

    Pessoal desde já agradeço a todos, e vamos lá. Primeiro esclareço que meu conhecimento em PHP é básico e em MYSQL praticamente nulo... Meu objetivo é: Salvar dados do formulário (3 páginas) no mesmo ID (mesma linha) do banco de dados. Tenho: <!-- PÁGINA INDEX.PHP --> <?php session_start(); ?> <html> <form method="POST" action="1.php"> <input type="text" name="namenome" placeholder="Nome"> <input type="text" name="namesobrenome" placeholder="Sobrenome"> <input type="radio" name="radio" value="Masculino"> <input type="radio" name="radio" value="Feminino"> <input type="submit" name="namebtn" value="Próximo Passo"> </form> </html> E assim são as outras duas páginas, exemplificando, muito simples... No Index o FORM tem action="1.php" Na Pagina2 o FORM tem action="2.php" e assim sucessivamente. 1.php funcionando perfeitamente: <?php session_start(); include_once 'conexao.php'; //conexao.php somente faz a conexão com banco de dados, define as credenciais e atrubi a variável $conn //$conn = new PDO('mysql:host=' . HOST . ';dbname=' . DBNAME . ';', USER, PASS); $btn = filter_input(INPUT_POST, 'namebtn', FILTER_SANITIZE_STRING); if($btn){ //Recebe os dados do form $nom = filter_input(INPUT_POST, 'namenome', FILTER_SANITIZE_STRING); $sob = filter_input(INPUT_POST, 'namesobrenome', FILTER_SANITIZE_STRING); $rad = filter_input(INPUT_POST, 'radio', FILTER_SANITIZE_STRING); //Insere os dados no banco $get_data = "INSERT INTO info_tabela (nome, sobrenome, sexo) VALUES (:namenome, :namesobrenome, :radio)"; $insert_data = $conn->prepare($get_data); $insert_data->bindParam(':namenome', $nom); $insert_data->bindParam(':namesobrenome', $sob); $insert_data->bindParam(':radio', $rad); if($insert_data->execute()){ header("Location:pagina2.php"); //Se enviar corretamente redireciona para segunda página }else{ $_SESSION['msg'] = "<p style='color:tomato;background:#fff;'>Não foi possível enviar suas informações, verifique e tente novamente.</p>"; header("Location:index.php"); //Se não apresenta o erro } }else{ $_SESSION['msg'] = "<p style='color:tomato;'>Não foi possível enviar suas informações, verifique e tente novamente.</p>"; header("Location:index.php"); } Até ai tudo bem, insere corretamente os dados nas respectivas colunas da tabela ID=1, NOME= 'nome', SOBRENOME= 'sobrenome', SEXO= 'sexo'. No Banco de Dados ainda temos as colunas a serem preenchidas no mesmo ID(mesma linha) --> CIDADE= ' ', ENDEREÇO= ' ', CEP= ' ', Que referem-se à pagina2.php: <!-- PÁGINA PAGINA2.PHP --> <?php session_start(); ?> <html> <form method="POST" action="2.php"> <!-- ACTION 2.PHP RESPECTIVAMENTE --> <input type="text" name="namecidade" placeholder="Cidade"> <input type="text" name="nameendereco" placeholder="Endereço"> <input type="tex" name="namecep" placeholder="Cep"> <input type="submit" name="namebtn" value="Próximo Passo"> </form> </html> O problema, é que ao enviar o formulário com action="2.php" cujo arquivo possui o mesmo código que o "1.php" mudando somente os dados recebidos, No Banco de Dados é criado um novo ID(2) ou seja, uma nova linha, com os dados atuais nas colunas (cidade, endereço, cep) preenchidos, e as colunas anteriores (nome, sobrenome, sexo) vazias... Pessoal esta é a minha dúvida, como resolver, salvar todos os dados num mesmo id, mesma linha. O código do arquivo 2.php é o mesmo pois não faço ideia de como implementar isso, como em soluções anteriores tais dados costumava enviar com PhpMailer para e-mail então não entendo de MYSQL. Código simplificado e resumido ao máximo... Obrigado.
  6. andrelimaverde

    Salvar formulário PHP PDO Banco de Dados

    Pessoal desde já agradeço a todos, e vamos lá. Primeiro esclareço que meu conhecimento em PHP é básico e em MYSQL praticamente nulo... Meu objetivo é: Salvar dados do formulário (3 páginas) no mesmo ID (mesma linha) do banco de dados. Tenho: <!-- PÁGINA INDEX.PHP --> <?php session_start(); ?> <html> <form method="POST" action="1.php"> <input type="text" name="namenome" placeholder="Nome"> <input type="text" name="namesobrenome" placeholder="Sobrenome"> <input type="radio" name="radio" value="Masculino"> <input type="radio" name="radio" value="Feminino"> <input type="submit" name="namebtn" value="Próximo Passo"> </form> </html> E assim são as outras duas páginas, exemplificando, muito simples... No Index o FORM tem action="1.php" Na Pagina2 o FORM tem action="2.php" e assim sucessivamente. 1.php funcionando perfeitamente: <?php session_start(); include_once 'conexao.php'; //conexao.php somente faz a conexão com banco de dados, define as credenciais e atrubi a variável $conn //$conn = new PDO('mysql:host=' . HOST . ';dbname=' . DBNAME . ';', USER, PASS); $btn = filter_input(INPUT_POST, 'namebtn', FILTER_SANITIZE_STRING); if($btn){ //Recebe os dados do form $nom = filter_input(INPUT_POST, 'namenome', FILTER_SANITIZE_STRING); $sob = filter_input(INPUT_POST, 'namesobrenome', FILTER_SANITIZE_STRING); $rad = filter_input(INPUT_POST, 'radio', FILTER_SANITIZE_STRING); //Insere os dados no banco $get_data = "INSERT INTO info_tabela (nome, sobrenome, sexo) VALUES (:namenome, :namesobrenome, :radio)"; $insert_data = $conn->prepare($get_data); $insert_data->bindParam(':namenome', $nom); $insert_data->bindParam(':namesobrenome', $sob); $insert_data->bindParam(':radio', $rad); if($insert_data->execute()){ header("Location:pagina2.php"); //Se enviar corretamente redireciona para segunda página }else{ $_SESSION['msg'] = "<p style='color:tomato;background:#fff;'>Não foi possível enviar suas informações, verifique e tente novamente.</p>"; header("Location:index.php"); //Se não apresenta o erro } }else{ $_SESSION['msg'] = "<p style='color:tomato;'>Não foi possível enviar suas informações, verifique e tente novamente.</p>"; header("Location:index.php"); } Até ai tudo bem, insere corretamente os dados nas respectivas colunas da tabela ID=1, NOME= 'nome', SOBRENOME= 'sobrenome', SEXO= 'sexo'. No Banco de Dados ainda temos as colunas a serem preenchidas no mesmo ID(mesma linha) --> CIDADE= ' ', ENDEREÇO= ' ', CEP= ' ', Que referem-se à pagina2.php: <!-- PÁGINA PAGINA2.PHP --> <?php session_start(); ?> <html> <form method="POST" action="2.php"> <!-- ACTION 2.PHP RESPECTIVAMENTE --> <input type="text" name="namecidade" placeholder="Cidade"> <input type="text" name="nameendereco" placeholder="Endereço"> <input type="tex" name="namecep" placeholder="Cep"> <input type="submit" name="namebtn" value="Próximo Passo"> </form> </html> O problema, é que ao enviar o formulário com action="2.php" cujo arquivo possui o mesmo código que o "1.php" mudando somente os dados recebidos, No Banco de Dados é criado um novo ID(2) ou seja, uma nova linha, com os dados atuais nas colunas (cidade, endereço, cep) preenchidos, e as colunas anteriores (nome, sobrenome, sexo) vazias... Pessoal esta é a minha dúvida, como resolver, salvar todos os dados num mesmo id, mesma linha. O código do arquivo 2.php é o mesmo pois não faço ideia de como implementar isso, como em soluções anteriores tais dados costumava enviar com PhpMailer para e-mail então não entendo de MYSQL.
  7. Olá, estou com um erro persistente já revirei todo o código para encontrar o erro e não tive nenhum sucesso, acho que pode ser por que não tenho tanto conhecimento em javascript e não estou conseguindo enxerga o erro. Segue abaixo o código da página, OBS: A Web está com programação antiga, pretendo atualizar o mesmo assim que eu concluir todo o código fonte. Estou executando esse shop dentro de um game , o navegador que a programação do game puxa é IE. <?php require("_config/init.php"); $action = anti_injection(AntSQL(aiRemove(protecao($_GET["action"])))); $cat = anti_injection(AntSQL(aiRemove(protecao($_GET["cat"])))); $v1 = anti_injection(AntSQL(aiRemove(protecao($_GET["v1"])))); $v2 = anti_injection(AntSQL(aiRemove(protecao($_GET["v2"])))); $v3 = anti_injection(AntSQL(aiRemove(protecao($_GET["v3"])))); $Item = anti_injection(AntSQL(aiRemove(protecao($_GET["product"])))); $nickname = array('1','2','6'); if(!$v1){ echo "<h1>404 - Página não encontradAAa!</h1>"; exit(); }elseif(!in_array($v1, $nickname)){ echo "<h1>404 - Página não encontradas!</h1>"; exit(); } $search = mssql_query("SELECT * FROM ".DB_ACC.".dbo.cabal_auth_table WHERE UserNum='".$v1."' AND AuthKey='".$v2."'"); $rows = mssql_fetch_object($search); $money = mssql_query("SELECT * FROM ".DB_CSH.".dbo.CashAccount WHERE UserNum='".$rows->UserNum."'"); $rowCash= mssql_fetch_object($money); ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title><?=WEB_NAME_MONEY?> Shop</title> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <meta http-equiv="X-UA-Compatible" content="IE=9"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.min.js"></script> <script src="template/js/script.js"></script> <link href="template/css/cashshop.css" rel="stylesheet" type="text/css"> </head> <script src="/template/js/cabaldark.js"></script> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('#ajax_form').submit(function(){ var dados = jQuery( this ).serialize(); jQuery.ajax({ type: "POST", url: "_buy.php", data: dados, success: function(data) { alert(data); } }); return false; }); }); </script> <body> <div class="cashshop"> <a href="http://cabalclose"> <div class="close"></div> </a> <div class="info"> <div class="cashs"> <div class="cash"><?=WEB_NAME_MONEY?></div> <div class="valor"><?=$rowCash->Cash?></div> </div> <div class="ids"> <div class="id">ID</div> <div class="user"><?=$rows->ID?></div> </div> </div> <a href="t-point/tpIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>"> <div class="tpoint"></div> </a> <div class="menu"> <?php if($action=="plus"){ ?> <a href="CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>"><div class="item"></div></a> <a href="CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&action=plus"><div class="plus_active"></div></a> <?php }else{ ?> <a href="CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>"><div class="item_active"></div></a> <a href="CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&action=plus"><div class="plus"></div></a> <?php } ?> </div> <div class="categoria"> Bem-vindo(a), Loja do Cabal Dark. </div> <div class="mensagem" id="box"> <div class="box"> <div>"Kit Nome do item", <br> <strong>Você deseja comprar este item?</strong> </div> <div> <div class="comprar"></div> <div class="cancelar" onClick="mensagemClose()"></div> </div> </div> </div> <?php if($action=="plus"){ ?> <div class="categorias"> <div class="opcao"> <img src="template/img/circle/historico.png" width="18" height="18" alt=""/> <span>Histórico</span> </div> </div> <?php }else{ ?> <div class="categorias"> <?php $search = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Categorias WHERE SubCategoria='nao'"); while($rows=mssql_fetch_object($search)){ $searchSub = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Categorias WHERE SubCategoria='sim' AND IdxSub='".$rows->Idx."'"); $countSub = mssql_num_rows($searchSub); if($countSub>=1){ ?> <div class="submenu" name="submenu" id="sub<?=$rows->Name?>"> <?php $num=0; while($rowsSub=mssql_fetch_object($searchSub)){ $num+=1; ?> <div class="opcaoSub <?php if($num>=2){ echo "mgOito"; };?>"><a href="CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&cat=<?=$rowsSub->Idx?>"><?=htmlentities($rowsSub->Name, ENT_COMPAT, 'ISO-8859-1')?></a></div> <?php } ?> </div> <?php } } //AQUI ADAPTAÇÃO MAMOTINHO // $search = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Categorias WHERE SubCategoria='nao' And IdxSub >= 1"); $contarNorm = mssql_num_rows($search); $search02 = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Categorias WHERE SubCategoria='nao' And IdxSub < 1"); $semSubmenu = mssql_num_rows($search02); if($contarNorm >= 1){ while($rows=mssql_fetch_object($search)){ ?> <div class="opcao" onClick="abrirSub('sub<?=$rows->Name?>')"> <img src="template/img/circle/<?=$rows->Icon?>" width="18" height="18" alt=""/> <span><?=$rows->Name?></span> </div> <?php if($rows->Bar=="sim"){ ?> <img src="template/img/circle/bar.png" alt=""/> <?php } ?> <?php } }if($semSubmenu>=1){ while($rows=mssql_fetch_object($search02)){ ?> <div class="opcao" style="margin-bottom:10px;" onClick="envURL('CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&cat=<?=$rows->Idx?>');"> <img src="template/img/circle/<?=$rows->Icon?>" width="18" height="18" alt=""/> <span><?=$rows->Name?></span> </div> <?php if($rows->Bar=="sim"){ ?> <img src="template/img/circle/bar.png" alt=""/> <?php } ?> <?php } } ?> </div> <?php } ?> <div class="conteudo"> <?php if($cat){ $searchItens = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Itens WHERE Categoria='".$cat."' AND Estoque >= 1"); $countItens = mssql_num_rows($searchItens); if($countItens>=1){ while($rows=mssql_fetch_object($searchItens)){ ?> <div class="item" onClick="envURL('CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&product=<?=$rows->Idx?>&action=product');"> <div class="preco"><?=number_format($rows->Preco - $rows->Desconto)?></div> <div class="img"> <img src="template/img/produtos/<?=$rows->Img?>" width="90" height="90" /> </div> <span style="font-size:12px; font-size:arial;"> <? if(strlen($rows->Name)>=18){ echo "<marquee>$rows->Name</marquee>"; }else{ echo $rows->Name; } ?> </span> </div> <?php } }else{ echo '<span style="color: #fff; padding-top: 30px;">No momento não há itens a exibir.</span>'; } }else{ if($action=="historico"){ echo "tes"; }elseif($action=="product"){ $ItemIdx = $_GET['product']; $rows = mssql_fetch_object(mssql_query("SELECT * FROM CabalCash.dbo.Shop_Itens where Idx='".$ItemIdx."'")); if($rows->Limite<=1){ $input = "disabled"; }else{ $input = ""; } ?> <div class="detalhes"> <form method="post" action="" id="ajax_form"> <div class="meio"> <div class="titulo"><?=$rows->Name?></div> <input name="Idx" id="txtNome" type="hidden" value="<?=$rows->Idx?>"> <input name="UserNum" id="txtNome" type="hidden" value="<?=$v1?>"> <div class="img"> <img src="template/img/produtos/<?=$rows->Img?>" width="130" height="100" alt=""/> </div> <div class="caixa"> <div class="valor"> <div>Preço</div> <div><?=number_format($rows->Preco)?> <?=WEB_NAME_MONEY?></div> </div> <div class="quantidade"> <div>Quantidade</div> <div>x<input type="text" value="1" <?=$input?> id="Quantidade" name="Quantidade" value="1" min="1" max="20"> </div> </div> <div class="current"> <div>Atual</div> <div><?=$rowCash->Cash?> <?=WEB_NAME_MONEY?></div> </div> <div class="preco"> <div>Preco</div> <div><?=number_format($rows->Preco)?> <?=WEB_NAME_MONEY?></div> </div> <div class="desconto"> <div>Desconto</div> <div><?=number_format($rows->Desconto)?> <?=WEB_NAME_MONEY?></div> </div> <div class="precofinal"> <div>Preço Final</div> <div><output id="total" name="total"><?=number_format($rows->Preco - $rows->Desconto)?></output> <?=WEB_NAME_MONEY?></div> </div> <div class="sobra"> <div>Restante</div> <div><?=number_format($rowCash->Cash - ($rows->Preco - $rows->Desconto))?> <?=WEB_NAME_MONEY?></div> </div> </div> <div class="content"> <div>Duração</div> <div><?=tempoItem($rows->Duracao)?></div> <div>Efeito</div> <div><?=htmlentities($rows->Efeito, ENT_COMPAT, 'ISO-8859-1')?></div> <div>Requesitos</div> <div> Nível: <?=$rows->NivelUser?> ou mais<br> Limite de compra: <?=$rows->Limite?><br> Estoque: <?=$rows->Estoque?><br><br> <span style="color: #FFFF00;"><strong>Descrição</strong></span> <div><?=$rows->Descricao?></div> </div> </div> <div class="botoes"> <label><input class="comprar" style="width:122px;border:0px; background-color:#FFFFFF;height:30px; flex:0 1 25%; padding-bottom:30px;" type="submit" name="enviar" value="Comprar" /></label> </div> </div></form> </div> <? }else{ $searchItens = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Itens WHERE Destaque='sim' AND Estoque >= 1"); $countItens = mssql_num_rows($searchItens); if($countItens>=1){ while($rows=mssql_fetch_object($searchItens)){ ?> <div class="item" onClick="envURL('CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&product=<?=$rows->Idx?>&action=product');"> <div class="preco"><?=number_format($rows->Preco - $rows->Desconto)?></div> <div class="img"> <img src="template/img/produtos/<?=$rows->Img?>" width="90" height="90" /> </div> <span style="font-size:12px; font-size:arial; "> <? if(strlen($rows->Name)>=18){ echo "<marquee>$rows->Name</marquee>"; }else{ echo $rows->Name; } ?> </span> </div> <?php } }else{ echo '<span style="color: #fff; padding-top: 30px;">No momento não há itens a exibir.</span>'; } } } ?> </div> </div> </body> </html>
  8. mamotinho

    Conexão MSSQL com PDO e PHP7

    Olá, hoje pensei em avança a versão do PHP e gostaria de começa com a conexão em PDO, porém não sei como posso ta fazendo e se realmente é possível eu realizar conexão mssql com PHP7 se for possível alguém poderia me da uma dica de como fazer
  9. Olá,boa noite a todos. Estou com um problema e já não sei como arrumar, toda vez que uso o a função = $json = file_get_contents('http://localhost/arquivo1.php'); $obj = json_decode($json); echo $obj->nome; Ele me retorna um erro = ( Trying to get property 'name' of non-object in ) Tenho 3 arquivos (Conexão.php,Arquivo1.php,Arquivo2.php) Eles estão assim: Arquivo1 = require('conexão.php'); while ($row = $usuarios->fetch(PDO::FETCH_ASSOC)) { $nomex = $row['nome']; $datax = $row['data']; $encoda= array('nome' => $nomex, 'data' => $datax ); echo json_encode($encoda);} Arquivo2 = $json = file_get_contents('http://localhost/arquivo1.php'); $obj = json_decode($json); echo $obj->nome; echo json_last_error_msg(); O erro acontece no Arquivo2 Já tentei por HTTP HEADER JSON Mas não adiantou,não sei mais o que fazer,se alguem puder ajudar. Agradecerei demais! Boa noite a todos.
  10. Olá, estive com problemas com compatibilidade de navegador, eu estou abrindo uma página dentro de um game de nome CABAL ONLINE porém quando eu abro e clico no link que está o onClick da o seguinte erro , veja abaixo a imagem do erro. alguem poderia me da uma solução em como posso corrigir esse problema. OBS: no chrome funciona normalmente.
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. <?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(); }
  17. 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; } }
  18. feasso

    PDO database extensions

    Como configurar o meu servidor AWS (EC2) para suportar PHP Data Objects ?
  19. 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>"; } }
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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 !!!
  25. 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.
×

Important Information

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