Ir para conteúdo
Lucas482

Problema ao conectar com o mysql

Recommended Posts

Estou fazendo um sistema de cadastro com PHP e mysql, estou usando wamp e o apache está usando a porta 8080, enquanto o mysql a 3306.

Quando clico no botão "finalizar cadastro" no meu formulário, a pagina começa a carregar e depois de alguns segundos me da o erro da imagem que anexarei.

esse é o código que estou usando pra fazer a conexão:

<?php
    if(!isset($_SESSION)){
        session_start();
    }
    $dsn = 'mysql:host=localhost:port=8080;dbname=find_things';
    $username = 'root';
    $password = '';
    $options = array(
            PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
    );
    $dbh = new PDO($dsn, $username, $password, $options);
?>

Gostaria de entender o que é o erro e como arrumá-lo

Sem título.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é necessário especificar a porta, a PDO já faz isso internamente. 

 

E porta do mysql é 3306 e não 8080

 

 $dsn = 'mysql:host=localhost;port=3306;dbname=find_things';

E depois de localhost é ponto e virgula ( ; ) e não dois pontos ( : )

Compartilhar este post


Link para o post
Compartilhar em outros sites
29 minutos atrás, Williams Duarte disse:

Não é necessário especificar a porta, a PDO já faz isso internamente. 

 

E porta do mysql é 3306 e não 8080

 


 $dsn = 'mysql:host=localhost;port=3306;dbname=find_things';

E depois de localhost é ponto e virgula ( ; ) e não dois pontos ( : )

Não funcionou, a pagina simplesmente fica branca e o cadastro não é feito no banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparece mais algum erro sobre conexão?

Coloque a conexão entre os bloco try/catch, se nada aparecer, já é erro de query e não de conexão.

<?php
if(!isset($_SESSION)){
    session_start();
}


try {
    $dsn = 'mysql:host=localhost;dbname=find_things';
    $username = 'root';
    $password = '';
    $options = array(
            PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
    );
    $dbh = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}

Leia!

http://php.net/manual/pt_BR/pdo.connections.php

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver o erro cara ahsuasha, eu tentei usar a porta 3307 pra testar, mas por algum motivo ela tava sendo bloqueada, quando voltei a usar a 3306 funcionou, vlw <3 <3 <3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora


  • Conteúdo Similar

    • Por ustogo
      Olá amigos.
      Vim aqui discutir com vocês um problema que tive agora, e muito sinistro...
       
      Eu faço uma inserção no banco com o arquivo cadastro.php
       
      Ao fim do código eu coloco:
      $id = mysqli_insert_id($My); if($sql_insere){ echo "<script>window.location.href='abre_registro.php?id=$id';</script>"; }  
      Redireciona normalmente, mas diz que o registro não existe.
      Porém se eu selecionar o endereço no browser e der um enter para executar a url de novo ele abre o registro.
       
      Já coloquei um sleep(10); pensando que era porquê o registro ainda não estava no banco, mas não é. Não tem jeito pra mim.
       
      Ele só abre quando eu vou lá no browser e mando ir para a url novamente.
       
      Alguém ja passou por isso?
    • Por Marcones Borges
      Bom dia,
       
      Estou com uma dificuldade em gravar dados em duas tabelas!
       
      Tenho um formulario edição de membro, quero que ele alem de fazer a edição na tabela membro ele registre na tabela historico, o id do membro editado e o uruario que editou o registro.
       
      Para isso no formulario de edição tenho o código:

       <input type="hidden" name="registro" value="<?=$cliente->id?>">                     <input type="hidden" name="usuario" value="<?=$cliente->usuario?>">
       
      No arquivo que grava no banco esta assim
       

      $sql = 'UPDATE ministro SET funcao=:funcao, nome=:nome,  celular=:celular, email=:email, status=:status, foto=:foto ';             $sql .= 'WHERE id = :id';             $stm = $conexao->prepare($sql);             $stm->bindValue(':funcao', $funcao);             $stm->bindValue(':nome', $nome);             $stm->bindValue(':celular', $celular);             $stm->bindValue(':email', $email);             $stm->bindValue(':status', $status);             $stm->bindValue(':foto', $nome_foto);             $stm->bindValue(':id', $id);             $retorno = $stm->execute();   $sql = 'UPDATE ministro SET registro=:registro, usuario=:usuario ';             $sql .= 'WHERE id = :id';             $stm = $conexao->prepare($sql);             $stm->bindValue(':registro', $registro);             $stm->bindValue(':usuario', $usuario);             $stm->bindValue(':id', $id);
       
      Poderiam me ajudar... grato!
    • Por Dundaki
      Esse é o jinternal no qual eu quero pegar um registro no banco de dados e apresenta_lo jtextfield, o nome da class é txtAcen55g. *********************************************************************** package br.com.inbras.telas; import java.awt.EventQueue; import javax.swing.JDesktopPane; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import java.awt.Font; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import javax.swing.SwingConstants; import javax.swing.table.TableModel; import javax.swing.JTextField; import br.com.inbras.dal.ModuloConexao; import net.proteanit.sql.DbUtils; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Acendedores extends JInternalFrame { public static JTextField txtAcen55g; private JTextField txtAcen200g; private JTextField txtAcen210g; private JTextField txtAcen452g; Connection conexao = null; PreparedStatement pst = null; ResultSet rs = null; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Acendedores frame = new Acendedores(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public Acendedores() { conexao = ModuloConexao.conector(); setTitle("Estoque Acendedores"); setClosable(true); setMaximizable(true); setIconifiable(true); setBounds(0, 0, 640, 417); getContentPane().setLayout(null); JLabel lblAcendedores = new JLabel("Estoque Atual"); lblAcendedores.setHorizontalAlignment(SwingConstants.CENTER); lblAcendedores.setFont(new Font("Vivaldi", Font.BOLD, 30)); lblAcendedores.setBounds(209, 21, 193, 43); getContentPane().add(lblAcendedores); JLabel lblAcendedoresg = new JLabel("Acendedores 55g"); lblAcendedoresg.setFont(new Font("Tahoma", Font.BOLD, 15)); lblAcendedoresg.setBounds(155, 126, 134, 21); getContentPane().add(lblAcendedoresg); JLabel lblAcendedoresg_1 = new JLabel("Acendedores 200g"); lblAcendedoresg_1.setFont(new Font("Tahoma", Font.BOLD, 15)); lblAcendedoresg_1.setBounds(155, 158, 151, 21); getContentPane().add(lblAcendedoresg_1); JLabel lblAcendedoresg_2 = new JLabel("Acendedores 210g"); lblAcendedoresg_2.setFont(new Font("Tahoma", Font.BOLD, 15)); lblAcendedoresg_2.setBounds(155, 190, 151, 26); getContentPane().add(lblAcendedoresg_2); JLabel lblAcendedoresg_3 = new JLabel("Acendedores 425g"); lblAcendedoresg_3.setFont(new Font("Tahoma", Font.BOLD, 15)); lblAcendedoresg_3.setBounds(155, 227, 151, 17); getContentPane().add(lblAcendedoresg_3); txtAcen55g = new JTextField(); txtAcen55g.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { acendedor(); } }); txtAcen55g.setBounds(316, 128, 86, 20); getContentPane().add(txtAcen55g); txtAcen55g.setColumns(10); txtAcen200g = new JTextField(); txtAcen200g.setColumns(10); txtAcen200g.setBounds(316, 160, 86, 20); getContentPane().add(txtAcen200g); txtAcen210g = new JTextField(); txtAcen210g.setColumns(10); txtAcen210g.setBounds(316, 193, 86, 20); getContentPane().add(txtAcen210g); txtAcen452g = new JTextField(); txtAcen452g.setColumns(10); txtAcen452g.setBounds(316, 225, 86, 20); getContentPane().add(txtAcen452g); } public void acendedor() { String sql = "select * from tb_recebimento where qtd_fardo_mat"; try { pst = conexao.prepareStatement(sql); // passando o conteudo da caixa de pesquisa o ? // atenção ao "%" - continuação da string sql pst.setString(7, txtAcen55g.getText()); rs = pst.executeQuery(); if(rs.next()) { txtAcen55g.setText(rs.getString(7)); System.out.println("teste"); } } catch (Exception e) { JOptionPane.showInputDialog(e); } } } //essa á tela quero mostra o resultado do banco de dados Essa é tela que os estao que quando eu clicar no botao abri essa outra tela ja com o resultado do banco de dados **************************************************************************************************************** package br.com.inbras.telas; import java.awt.EventQueue; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.SwingConstants; import java.awt.Color; import javax.swing.JTextField; import java.awt.Font; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import br.com.inbras.dal.ModuloConexao; import javax.swing.JButton; import javax.swing.JDesktopPane; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JSpinner; import javax.swing.JTree; import br.com.inbras.telas.TelaPrincipal; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class TelaEstatistica extends JInternalFrame { private JButton btnAcendedores; Connection conexao = null; PreparedStatement pst = null; ResultSet rs = null; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { TelaEstatistica frame = new TelaEstatistica(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } // JDesktopPane desktop; // public TelaEstatistica(JDesktopPane desktop) { // // this.desktop = desktop; // } /** * Create the frame. */ public TelaEstatistica() { setTitle("Controle de Estoque"); setClosable(true); setMaximizable(true); setIconifiable(true); conexao = ModuloConexao.conector(); setBounds(0, 0, 640, 417); getContentPane().setLayout(null); JLabel lblEstastitca = new JLabel("Controle de Estoque Mat\u00E9ria Prima"); lblEstastitca.setBackground(new Color(210, 105, 30)); lblEstastitca.setForeground(new Color(210, 105, 30)); lblEstastitca.setFont(new Font("Vivaldi", Font.BOLD, 40)); lblEstastitca.setHorizontalAlignment(SwingConstants.CENTER); lblEstastitca.setBounds(10, 0, 604, 49); getContentPane().add(lblEstastitca); btnAcendedores = new JButton("Acendedores"); btnAcendedores.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String sql = "select qtd_fardo_mat from tb_recebimento"; try { Acendedores a = new Acendedores(); getParent().add(a); a.setVisible(true); } catch (Exception e2) { // TODO: handle exception } } }); btnAcendedores.setFont(new Font("Tahoma", Font.BOLD, 14)); btnAcendedores.setBounds(21, 89, 143, 41); getContentPane().add(btnAcendedores); JButton btnInstitucional = new JButton("Institucional"); btnInstitucional.setFont(new Font("Tahoma", Font.BOLD, 14)); btnInstitucional.setBounds(21, 233, 123, 41); getContentPane().add(btnInstitucional); JButton btnMultiuso = new JButton("Multiuso"); btnMultiuso.setFont(new Font("Tahoma", Font.BOLD, 14)); btnMultiuso.setBounds(452, 233, 123, 41); getContentPane().add(btnMultiuso); JButton btnQuerosene = new JButton("Querosene"); btnQuerosene.setFont(new Font("Tahoma", Font.BOLD, 14)); btnQuerosene.setBounds(319, 233, 123, 41); getContentPane().add(btnQuerosene); JButton btnRemovedores = new JButton("Alcool Gel Antisseptico 70\u00B0"); btnRemovedores.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Antisseptico a = new Antisseptico(); getParent().add(a); a.setVisible(true); } }); btnRemovedores.setFont(new Font("Tahoma", Font.BOLD, 14)); btnRemovedores.setBounds(350, 89, 225, 41); getContentPane().add(btnRemovedores); JButton btnAlcoolGel = new JButton("Alcool Gel 46,2\u00B0"); btnAlcoolGel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { } }); btnAlcoolGel.setFont(new Font("Tahoma", Font.BOLD, 14)); btnAlcoolGel.setBounds(350, 159, 225, 41); getContentPane().add(btnAlcoolGel); JButton btnAlcoolGel_1 = new JButton("Alcool Gel 70\u00B0"); btnAlcoolGel_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { TelaAlcoolGel70 alcoolgel = new TelaAlcoolGel70(); getParent().add(alcoolgel); alcoolgel.setVisible(true); } }); btnAlcoolGel_1.setFont(new Font("Tahoma", Font.BOLD, 14)); btnAlcoolGel_1.setBounds(174, 89, 166, 41); getContentPane().add(btnAlcoolGel_1); JButton btnAlcoolLiquido = new JButton("Alcool Liquido 46,2\u00B0"); btnAlcoolLiquido.setFont(new Font("Tahoma", Font.BOLD, 14)); btnAlcoolLiquido.setBounds(174, 159, 166, 41); getContentPane().add(btnAlcoolLiquido); JButton btnRemovedor = new JButton("Removedor"); btnRemovedor.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { } }); btnRemovedor.setFont(new Font("Tahoma", Font.BOLD, 14)); btnRemovedor.setBounds(174, 233, 123, 41); getContentPane().add(btnRemovedor); JButton btnAlcoolGel_2 = new JButton("Alcool Gel"); btnAlcoolGel_2.setFont(new Font("Tahoma", Font.BOLD, 14)); btnAlcoolGel_2.setBounds(21, 159, 143, 41); getContentPane().add(btnAlcoolGel_2); JButton btnSabonetes = new JButton("Sabonetes"); btnSabonetes.setFont(new Font("Tahoma", Font.BOLD, 14)); btnSabonetes.setBounds(21, 300, 123, 41); getContentPane().add(btnSabonetes); if (btnAcendedores.getText().equals("Acendedores")) { Acendedores a = new Acendedores(); } else { } } como que eu faço desde de jah agradeço...  
    • Por Rafael_Ferreira
      Eu atualizei e mudei de domínio na hostgator e um código que antes funcionava apresenta o seguinte erro "Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given" o código é 
      $insert = "INSERT INTO comentarios_tb(nome, email, website, comentario, data)
      VALUES('$nome', '$email', '$website', '$comentario', '$data')";
      $result = $link->query($insert);
      echo "<center>Obrigado mensagem enviada com sucesso!!!</center>";
      }
      $sql = mysqli_query($link,"SELECT * FROM comentarios_tb");
      $row = mysqli_num_rows($sql);
      if ($row > 0)  {
      while ($linha = mysqli_fetch_array($sql)) {
      $nome = $linha['nome'];
      $email = $linha['email'];
      $website = $linha['website'];
      $comentario = $linha['comentario']; 
      $data = $linha['data']; 
    • Por symblack
      Bom dia pessoal tudo bem?
      Estou com um problema onde preciso passar os dados de colunas da tabela 1 para a subquery validar com um WHERE e não está fácil.  Ele fala que nao encontra a coluna P.uniqId.
      Abaixo minha query:
       
      SELECT  P.id, P.uniqId, ,P.localizacao, F.* FROM map AS P cross join (select qry.id,qry.uniqId,qry.localizacaofrom map AS qry where qry.uniqId = P.uniqId and qry.id < P.id order by qry.id desc limit 1) as F WHERE P.uniqId= '449548' and P.id = 1984476  Obrigado pela ajuda!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.

Este projeto é mantido e patrocinado pelas empresas:
Hospedado por: