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 portela47
      Boa Tarde: Estou começando agora com mysql e estou encontrando um problema. Insiro o primeiro registro(ok) mas a partir do segundo registro ha a duplicidade do primeiro. Assim vai duplicando registro. Ja fiz um cadastro com 5 registros e foi duplicado para 15. Preciso de um help. Segue abaixo o Script.
       
      create database cadcli
      default character set utf8
      default collate utf8_general_ci;
       
      CREATE TABLE IF NOT EXISTS contatos (
      id INT(5) AUTO_INCREMENT PRIMARY KEY,
      nome VARCHAR(20) NOT NULL,
      sobrenome VARCHAR(30) NOT NULL,
      ddd INT(2),
      telefone VARCHAR(9) NOT NULL,
      data_nasc DATE,
      email VARCHAR(30)
      ) default charset = utf8;
       
      insert into contatos
      (nome, sobrenome, ddd, telefone, data_nasc, email)
      values
      ('Marcelo', 'Portela', '24', '966666666', '1970-02-01', 'aaaaaaaa0@hotmail.com'),
      ('Mary', 'Santos', '13', '988888888', '1969-05-30', 'aaaaaaaa@bol.com.br'),
      ('Mario', 'Gomes', '21', '977777777', '1940-07-20', 'cccccccc@bol.com.br'),
      ('Flavio', 'Ramos', '24', '96666666', '1980-04-21', 'jjjjjjjj@bol.com.br');
       
      select * from contatos;
    • Por PauloShakall
      Boa tarde, estou em um projeto de App de Guia Comercial e estou quebrando a cabeça em relação ao banco de dados, a duvida é a seguinte.
      O app é separado por categorias tipo Bares,Lanchonetes, churrascarias e preciso que esses dados que estão em meu banco de dados sejam exibidos separados nas categorias.
      Já procurei na internet algo sobre e não encontrei caso alguém possa me ajudar ficarei agradecido.
      Estou usando Ionic e AngularJS no Intel XDK com banco de dados local no Wamp Server.
       
       

    • Por Regis Oliver
      Gostaria de alguns exemplos de como fazer uma conexão php com banco oracle.
      Já vi vários tutoriais e maneiras diferentes e sem sucesso.
      Eu tenho um servidor contratado na k2host, onde eu tenho o meu index.php
       
      <?php # Definindo pacotes de retorno em padrão JSON... header('Content-Type: application/json;charset=utf-8'); # Carregando o framework Slim... require 'Slim/Slim/Slim.php'; \Slim\Slim::registerAutoloader(); # Iniciando o objeto de manipulação da API SlimFramework $app = new \Slim\Slim(); $app->response()->header('Content-Type', 'application/json;charset=utf-8'); # Função de teste de funcionamento da API... $app->get('/', function () { echo "Bem-vindo a API do Sistema"; }); # Função para obter dados da tabela 'cliente'... $app->get('/clientes',function(){ # Variável que irá ser o retorno (pacote JSON)... $retorno = array(); $user = "user"; $pass = "pass"; $name = "db_name"; $host = "201.62.99.137"; $tns = " (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP) (HOST = ".$host.")(PORT = 1522)))(CONNECT_DATA = (SID = ".$name.")))"; try { $conn = new PDO("oci:dbname=".$tns,$user,$pass); echo 'conectado -> '.date('H:i:s'); foreach($conn->query('SELECT * from contrato') as $registro) { $registro = array( "NRO_CONTRATO" => $cliente["NRO_CONTRATO"], "DES_CONTRATO" => $cliente["DES_CONTRATO"]), "NRO_TIP_CONTRATO" => $cliente["NRO_TIP_CONTRATO"], "NRO_GRUPO" => $cliente["NRO_GRUPO"], ); $retorno[] = $registro; } }catch(PDOException $e) { echo ($e->getMessage()); } foreach(PDO::getAvailableDrivers() as $driver) echo '<br>',$driver, '<br>'; if(!$tns){ echo "Não foi possível se conectar ao banco de dados"; exit;} # Retornando o pacote (JSON)... $retorno = json_encode($retorno); echo $retorno; }); # Executar a API (deixá-la acessível)... $app->run(); ?> O retorno do codigo acima:
      Acessando http://../index.php/clientes
      could not find driver<br>dblib<br><br>firebird<br><br>mysql<br><br>odbc<br><br>pgsql<br><br>sqlite<br>[]  
      A ideia era fazer a conexão de um APP que eu estou desenvolvendo no INTEL XDK. Ao clicar em um botão, ele acessaria o "index.php", por exemplo e trataria os dados.
      Se alguém puder me ajudar com esse erro ou tiver uma maneira mais fácil de fazer.
      Ficarei grato pelo ajuda.
       
      Obrigado.
    • Por Handrix
      Eai galera, beleza?
      Criei meu banco de dados e configurei a conexão só que apresenta erro de conexão.
      Não sei se é algum erro na conexão ou o que seria... Acredito que é a variável $host sempre deixo atribuído como "localhost", mas acredito que o uol usa outra forma por o que pesquisei, gostaria de saber como seria a outra forma.
       
      Deixo um print da informação do meu banco no UOL Host
      E o código que busca as informações e conecta ao banco.
       
      <?php class cn { //Banco de dados protected static $cndb; private $host = "painel_radio"; private $user = "root_rhpop"; private $pass = "-----"; private $dbname = "painel_radio"; public function __construct() { try { self::$cndb = new PDO("mysql:host=".$this->host.";dbname=".$this->dbname.";charset=utf8", $this->user, $this->pass, array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8" ) ); self::$cndb->exec("SET CHARACTER SET utf8"); } catch (PDOException $e) { print('Erro ao estabelecer conexão com o banco de dados'); exit; } } public static function connection() { if (!self::$cndb) { new cn(); } return self::$cndb; } }