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 rcamu
      Fiz o Select abaixo só que ele não está somando pela coluna correta, onde estou errando?
       
      Na minha estrutura tenho o campo dtConcat e o campo dtConcat2 (essas datas são diferentes uma é para data do pedido e a outra é para a data que efetivou a venda) ele está somando a coluna dtConcat2 mesmo eu colocando no select que quero o mes e ano da coluna dtConcat
       
      SELECT cat.id, cat.nome_vendedor, MONTH (dtConcat) AS mes, YEAR (dtConcat) AS ano, SUM( IF( mov.tipo_venda = 'Atacado', mov.total, 0 ) ) AS Atacado FROM lc_controle AS mov INNER JOIN vendedor AS cat ON cat.id = mov.vendedor where mov.exportado = 'Sim' GROUP BY ano, mes, cat.nome_vendedor ORDER BY nome_vendedor, ano, mes  
    • Por WitchMad
      Olá Gente! Se pudessem me ajudar agradeceria bastante!
      Seguinte: Estou precisando cadastrar um valor do INPUT em dois bancos de dados. Onde eu vi a solução acabou não funcionando. Ainda sou um pouco noob em PHP, então se for algo óbvio perdoai
       
      Aqui o arquivo que processa os dados para enviar:
      <?php session_start(); include_once("conexao-alunos.php"); $matricula = filter_input(INPUT_POST, 'matricula', FILTER_SANITIZE_NUMBER_INT); $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING); $ensino = filter_input(INPUT_POST, 'ensino', FILTER_SANITIZE_STRING); $ano = filter_input(INPUT_POST, 'ano', FILTER_SANITIZE_STRING); $turno = filter_input(INPUT_POST, 'turno', FILTER_SANITIZE_STRING); $nascimento = filter_input(INPUT_POST, 'nascimento', FILTER_SANITIZE_STRING); $situacao = filter_input(INPUT_POST, 'situacao', FILTER_SANITIZE_STRING); $responsavel = filter_input(INPUT_POST, 'responsavel', FILTER_SANITIZE_STRING); $contato = filter_input(INPUT_POST, 'contato', FILTER_SANITIZE_NUMBER_INT); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL); $endereco = filter_input(INPUT_POST, 'endereco', FILTER_SANITIZE_STRING); $cargo = filter_input(INPUT_POST, 'cargo', FILTER_SANITIZE_STRING); $empresa = filter_input(INPUT_POST, 'empresa', FILTER_SANITIZE_STRING); // Aonde eu vi era pra deixar dessa forma na sintaxe "INSERT INTO 'nome da tabela, $nomedobanco'" $result_usuarios = "INSERT INTO 'medio', $dbname (matricula, nome, turno, nascimento, responsavel, contato, email, endereco, cargo, empresa, situacao) VALUES ('$nome', '$turno', '$nascimento', '$responsavel', '$contato', '$email', '$endereco', '$cargo', '$empresa', '$situacao')"; $resultado_usuario = mysqli_query($conn, $result_usuarios); $result_usuarios_tran = "INSERT INTO 'mensalidade', $dbname_tran (matricula) VALUES ('$matricula')"; $resultado_usuario_tran = mysqli_query($conn_tran, $result_usuarios_tran); if (mysqli_insert_id($conn)){ $_SESSION['msg'] = "<p style='color:#00ff2a;'>Usuário Cadastrado com Sucesso</p>"; header("Location: index.php"); } else{ $_SESSION['msg'] = "<p style='color:red;'>Falha ao Cadastrar Usuário</p>"; header("Location: cad_aluno.php"); } ?> E aqui o arquivo de conexão:
      <?php $servidor = "localhost"; $usuario = "root"; $senha = ""; $dbname = "medio"; $conn = mysqli_connect($servidor, $usuario, $senha, $dbname); ?> <?php $dbname_tran = "transacoes"; $conn_tran = mysqli_connect($servidor, $usuario, $senha, $dbname_tran); ?>  
       
    • Por Augusto Assad
      Tudo bom pessoal ?
       
      Sou novo no fórum e preciso de uma ajuda. Precisei criar um banco de dados para armazenar requerimentos de pedidos de alunos. Tipo: histórico escolar, certidão reg. matrícula e etc...
        Montei as tabelas, fiz os relacionamentos e me deparei com o seguinte problema:
      Criei uma tabela chamada tbmatricula onde armazeno as matrículas dos alunos por ano de ingresso. Ex.: 2016.1.00254.11 ... sendo a restrição: um nº matrícula vinculado a 1 aluno por curso.
      Criei uma outra tabela onde armazeno os nomes dos alunos (tbnomealuno), pois um aluno pode ter várias matrículas diferentes em cursos que já tenha feito.
       
      Aí ocorreu o seguinte:
      Inicialmente para testar eu populei as duas tabelas com dados que eu já tinha. Até aí tudo bem pq ficou  por exemplo o id 11 da tabela tbmatricula vinculado com o id 11 da tabela tbnomealuno (2016.1.00254.11 -> é o João Roberto da Silva).
       
      Agora preciso fazer um insert para adicionar aproximadamente 50000 matrículas  x nome de alunos . Sei que posso usar o insert ignore e evitar as duplicações de nº de matrículas. Mas aí surge um problema, pois tenho tabelas diferentes na qual o id de uma não ficará mais alinhado com o id da outra (ex. id 11 nº de matrícula 2016.1.00254.11 pertence a João Roberto da Silva que agora é id 13 na tbnomealuno).
       
      Depois deste texto longo faço a pergunta:
       
      Existe a possibilidade de vincular o nº matrícula  ao nome do aluno sendo que este nome estará em posição diferente na sua respectiva tabela? Porque quando eu fizer um select ou query buscando o nome do aluno,  a matrícula tem de corresponder ao aluno pesquisado.
       
      CREATE TABLE `tbnomealuno` (
        `idnomealuno` int(11) NOT NULL AUTO_INCREMENT,
        `nomealuno` varchar(70) DEFAULT NULL,
        PRIMARY KEY (`idnomealuno`)
      ) ENGINE=InnoDB AUTO_INCREMENT=24964 DEFAULT CHARSET=utf8
       
      CREATE TABLE `tbmatricula` (
        `idmatricula` int(11) NOT NULL AUTO_INCREMENT,
        `matricula` varchar(15) DEFAULT NULL,
        `id_nomealuno` int(11) DEFAULT NULL,
        `id_sitmatricula` int(11) DEFAULT NULL,
        PRIMARY KEY (`idmatricula`),
        KEY `FK_tbmatricula_tbnomealuno` (`id_nomealuno`),
        KEY `idx_tbmatricula_matricula` (`matricula`),
        KEY `FK_tbmatricula_tbsituacaomatricula` (`id_sitmatricula`),
        CONSTRAINT `FK_tbmatricula_tbnomealuno` FOREIGN KEY (`id_nomealuno`) REFERENCES `tbnomealuno` (`idnomealuno`),
        CONSTRAINT `FK_tbmatricula_tbsituacaomatricula` FOREIGN KEY (`id_sitmatricula`) REFERENCES `tbsituacaomatricula` (`idsitmatricula`)
      ) ENGINE=InnoDB AUTO_INCREMENT=49684 DEFAULT CHARSET=utf8
       
      obrigado e desculpe o texto longo
       
       
       
       
    • Por manoaj
      Pessoal estou usando o long polling pra me retornar notificacoes em tempo real, esta tudo funcionando normalmente, estou inserindo os dados no db e o codigo me retorna as novas notificacoes, mas se eu der um refresh na pagina ela fica em um loop infinito tentando atualizar e gerando esse erro no meu php MySQL server has gone away.
      Como resolvo e o que siguinifica esse erro dentro desse contexto?
    • Por clickanapolis
      Bom dia amigos, estou criando uma agenda de serviços para um cliente e me surgiu uma duvida que nunca fiz.
       
      O profissional faz o cadastro dele e no cadastro ele determina por exemplo.
       
      Hora inicio e Hora fim que ele trabalha, podendo colocar por exemplo
       
      horainicio: 08:00:00
      horafim: 18:00:00
       
      Quando o cliente vai na agenda para marcar um serviço por exemplo preciso de uma consulta que veja no cadastro do profissional o seu horario de cadastro, na tabela profissionais tenho esses 2 campos abaixo:
       
      horainicio time default null, horafim time default null, e na tabela servicos_contratados
       
      create table servicos_contratados ( id_servico int(11) not null auto_increment, id_solicitante int(11) default null, id_profissional int(11) default null, horainicio time default null, horafim time default null, valor float(9,2) default null, status varchar(255) default null, primary key(id_servico) );  
      tenho o dia e horainicio e horafim.
       
      O que preciso e que por exemplo, o usuario quer um horario no dia 24/04/2018 das 12:00 as 13:00 a consulta me retornar apenas profissioanais que não tenha horario marcado.
       
      o problema tambem e que o horario e livre, então o usuario pode marcar por exemplo das 11:00 as 12:30 fazendo com que esse profissional fique bloqueado para a consulta acima e mostrando apenas profissionais com esses horarios livres.
×

Informação importante

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