Publicidade

Lucas482

Problema ao conectar com o mysql

Patrocínio:

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

0

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 ( : )

0

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

0

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

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

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

:thumbsup:

0

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

  • Próximos Eventos

  • Conteúdo Similar

    • Por AnthraxisBR
      Boa tarde,
       
      Bom, eu preciso fazer um inserção em uma determinada tabela no banco, e sempre que outra tabela for atualizada ou receber um dado novo, isso é pra registro de histórico.
       
      Primeiramente eu fiz isso com PHP, e depois fiz com triggers AFTER INSERT, e AFTER UPDATE, os dois tiveram o mesmo desempenho.
       
      Mas analisando pensei:
       
      O PHP consome o servidor e o MySQL consome o servidor também, ou nesse caso, o PHP consome o cliente e o MySQL consome o servidor?
       
      Qual dos dois métodos é  'melhor' , sendo que aparentemente o tempo de execução é o mesmo?
    • Por GuiLima
      Caros, possuo duas query's uma retorna a soma de horas por colaborador. E a outra deve mostrar a soma de horas por lider de cada colaborador.
       
      SELECT p.nome , SEC_TO_TIME(sum(a.length*60)) as duracao, SEC_TO_TIME(sum(a.length*60)-((450*60)*20)) AS dif, SEC_TO_TIME(((450*60)*20)+900) AS carga FROM auditoria_ponto.appt a, auditoria_ponto.po p, auditoria_ponto.type_list t JOIN auditoria_ponto.queue q WHERE ((a.qid = q.queue_id) AND (q.queue_id = a.qid) AND (NOT ((q.provider_ext_id LIKE 'P%'))) ) and q.provider_ext_id = p.matricula and p.n_g_imediato LIKE 'NOME%' and t.type_id = a.work_type and t.type_lang = 'pt' and t.type_name = 'activity' and p.cluster_ = 'CURITIBA' and a.status not in( 'cancelled', 'suspended', 'deleted') and STR_TO_DATE(q.queue_date, '%d/%m/%Y') BETWEEN '2017/05/01' AND '2017/05/31' group by p.nome;  
      RESULTADO : Mais retoma tudo certo a soma das horas por colaborador.

      SELECT p.n_g_imediato , SEC_TO_TIME(sum(a.length*60)) as duracao, SEC_TO_TIME(sum(a.length*60)-((450*60)*20)) AS dif, SEC_TO_TIME(((450*60)*20)+900) AS carga FROM auditoria_ponto.appt a, auditoria_ponto.po p, auditoria_ponto.type_list t JOIN auditoria_ponto.queue q WHERE ((a.qid = q.queue_id) AND (q.queue_id = a.qid) AND (NOT ((q.provider_ext_id LIKE 'P%'))) ) and q.provider_ext_id = p.matricula and p.n_g_imediato LIKE 'NOME%' and t.type_id = a.work_type and t.type_lang = 'pt' and t.type_name = 'activity' and p.cluster_ = 'CURITIBA' and a.status not in( 'cancelled', 'suspended', 'deleted') and STR_TO_DATE(q.queue_date, '%d/%m/%Y') BETWEEN '2017/05/01' AND '2017/05/31' group by p.n_g_imediato; RESULTADO

       
      Só que quando agrupo por líder, a soma se perde e calcula um valor diferente. 
      Alguém tem uma luz? nunca tive problema com isso!
       
       
       
    • Por Lisbi
      Boa tarde
       
      Gente, to com um problema aqui! Eu fiz uns cadastro aqui direto no banco de dados, tenho um problema de acentuação que não sei como resolver! Se eu cadastrar direto no banco não tem problema na consulta e no resultado, se eu cadastrar pelo formulario de cadastro do site na hora da busca acontece o erro de acentuação! Como resolver isso de uma vez por todas! Ha um codigo pra ele ser utf8 de todo jeito! Eu não quero rescadastra  tudo dinovo pelo site, pq tenho um codigo abaixo que ele faz isso, mas ai no banco ja fica errado! Quero que funcione do mesmo jeito, português é português, não importa se é no banco ou no cadastro ou no site! Alguem pode me ajudar por favor;
       
      <? mysqli_set_charset ($con,'utf8'); ?> Obs: Esse codigo esta na pagina que exibe os resultados, não esta na pagina de cadastro, se eu colocar na pagina de cadastro da erro!
    • Por BarryAllen
      Estou utilizando esse codigo:
      <?php include '../config/config.php'; if($_POST['type'] == 'load_url') { $id = (int) $_POST['id']; $sql = mysql_query("SELECT * FROM players WHERE id='$id'"); $item = mysql_fetch_array($sql); $dados['link'] = $item['link']; echo json_encode($dados); exit; } $id = (int) $_GET['id']; $sql = mysql_query("SELECT * FROM players WHERE id='$id'"); $item = mysql_fetch_array($sql); ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CinePopHD | Player</title> <script src="https://www.cinepophd.com/media/bower_components/angular/angular.js"></script> <script src="https://www.cinepophd.com/media/bower_components/angular-translate/angular-translate.js"></script> <script src="https://www.cinepophd.com/media/bower_components/jquery/dist/jquery.js"></script> <script src="https://www.cinepophd.com/media/bower_components/jquery-mousewheel/jquery.mousewheel.js"></script> <script src="https://www.cinepophd.com/media/bower_components/mousetrap/mousetrap.js"></script> <script src="https://www.cinepophd.com/media/bower_components/angular-local-storage/dist/angular-local-storage.js"></script> <script src="https://www.cinepophd.com/media/bower_components/angularjs-slider/dist/rzslider.min.js"></script> <script src="https://www.cinepophd.com/media/bower_components/streama-i18n/dist/streama-i18n.min.js"></script> <script src="https://www.cinepophd.com/media/dist/streama-video-player.js"></script> <link rel="stylesheet" href="https://www.cinepophd.com/media/bower_components/Ionicons/css/ionicons.css"> <link rel="stylesheet" href="https://www.cinepophd.com/media/bower_components/angularjs-slider/dist/rzslider.css"> <link rel="stylesheet" href="https://www.cinepophd.com/media/dist/streama-video-player.css"> <style> body{ background: black; } </style> </head> <body oncontextmenu="return false"> <body ng-app="myModule"> <streama-video-player options="$root.videoOptions"> </streama-video-player> <script type="text/javascript"> angular.module('myModule', ['streama.videoPlayer']).run(function ($rootScope) { $rootScope.videoOptions = { videoSrc: '', isExternalLink: true, videoMetaTitle: 'Jovens Titãs', videoMetaSubtitle: 'O Contrato de Judas', videoMetaDescription: 'O filme não deve adaptar literalmente o arco The Judas Contract, mas apenas se inspirar na história, onde os Titãs enfrentam a traição da personagem Terra, que se une ao Exterminador para acabar com a equipe. Jay Oliva, também de Liga da Justiça Sombria, dirige e não há data de lançamento.', showNextButton: false, episodeList: { 1: [ {id: 1, name: 'Temporada 1: Ep.1 "Piloto"', season_number: 1, episode_number:1, episodeString: 'Temporada 1: Ep.1', overview: 'Barry acorda do coma e usa sua nova e extraordinária velocidade para combater outro meta-humano que usa poderes meteorológicos para assaltar bancos.'}, {id: 2, name: 'Temporada 1: Ep.2 "O Homem Mais Rápido do Mundo', season_number: 1, episode_number:2, episodeString: 'Temporada 1: Ep.1', overview: 'Barry enfrenta diversos assassinos que invadem a premiação onde ele acompanha Iris, mas os efeitos colaterais de seus novos superpoderes representam uma ameaça.'} ] }, showEpisodeBrowser: false, currentEpisode : { episode: 1, season: 1 }, } }); </script> </body> </html> Mas não sei como adptar o $dados['link'] = $item['link']; Ali em videoSrc: ' ' tem o url do video em mp4 dentro da Tabela: "players" na coluna link mas não sei passar ela pro JS
      Alguém pode fazer o code Pronto para min por favor?
    • Por Wanderson David
      Modelagem  de banco de dado to com duvida de com faz o texto na imagem .