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 fogazza
      Boa noite a todos.
      Queria tirar uma dúvida.
      Possui um formulário php de cadastro de clientes, e outro formulário onde eu cadastro os empréstimos destes clientes.
      Minha pergunta é:
      Existe alguma forma de eu ao digitar o cpf, ele preencher automaticamente o campo nome do formulário empréstimos de acordo com o nome que está cadastrado na tabela clientes?
    • Por Blacksnake
      Olá,
       
      Sou novo na linguagem c# e estou a estudar o novo ef core.
       
      Quando comecei instalei o ef core 1.0.1 agora fiz update para 2.0.0 bem como do vs2015 para o vs2017 comunity.
      Após este update surge-me o seguinte erro:
      System.IO.FileNotFoundException: 'Não foi possível carregar o ficheiro ou assemblagem 'MySqlConnector, Version=0.25.1.0, Culture=neutral, PublicKeyToken=null' ou uma das respectivas dependências. O sistema não conseguiu localizar o ficheiro especificado.'
       
      O meu código é:
      using ERP.Models;
      using ERP.Models.Options;
      using Microsoft.EntityFrameworkCore.Diagnostics;
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.ComponentModel.DataAnnotations;
      using System.ComponentModel.DataAnnotations.Schema;
      using Microsoft.EntityFrameworkCore;
       
      namespace ERP.Datasource
      {
          public class Mycontext: DbContext
          {
              protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
                  => optionsBuilder
                      .UseMySql(@"Server=localhost;database=ef;uid=root;pwd=******;")
                      .ConfigureWarnings(warnings => warnings.Throw(RelationalEventId.QueryClientEvaluationWarning));
       
       
              public DbSet<User> User { get; set; }
              public DbSet<Entity> Entities { get; set; }
              public DbSet<Infoapp> Infoapp { get; set; }
              public DbSet<CountryCoin> CountryCoin { get; set; }
       
          }
      }
    • Por sabrina.teles
      create database copa20143; use copa20143;   create table grupo(
      id_grupo varchar(45) primary key,
      grupo character,
      selecao varchar(150),
      timeVencedor varchar(45),
      timePerdedor varchar(45),
      Empate varchar(45));   create table jogo(
      id_jogo int primary key,
      dataJogo date,
      horario time,
      placar varchar(45),
      locall varchar(45));   alter table jogo
      add grupo_id varchar(45);   alter table jogo
      add foreign key(grupo_id) references grupo(id_grupo);   insert into jogo (id_jogo,dataJogo,horario,placar,locall, grupo_id)
      values(01,"2014/06/12","17:00",'3x1', 'São Paulo- Arena Corinthians ','A');   0       Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails 0.094 sec  
       
         
    • Por Jefferson andre
      Bom dia,
       
      Estou com um erro na tela de login do site que acontece quando o email + a senha nao sao encontrados no mysql.
       
      O estranho é que a rotina if nem deveria passar por esta parte
       
      <?php session_start(); $email = isset($_POST['a_email']) ? $_POST['a_email'] : ''; $senha = isset($_POST['a_senha']) ? $_POST['a_senha'] : ''; $senha=md5($senha); //print "$email"; include("conexao.php"); $sql = "SELECT * FROM empresa_emails WHERE email = '$email' AND senha = '$senha'"; foreach ($arquivo->query($sql) as $row) { // print $row['email'] . "\t"; // print $row['senha'] . "\t"; // print $row['codemp'] . "\n"; } if($arquivo->query($sql) !== true) { $_SESSION['email']=$email; $_SESSION['senha']=$senha; $codemp = $row['codemp']; ERRO BEM AQUI $_SESSION['id_emp']=$codemp; //echo $codemp; //header('location:menuprincipal.php'); } else{ unset ($_SESSION['email']); unset ($_SESSION['senha']); unset ($_SESSION['id_emp']); header('location:index.php'); } ?> Se o email e a senha md5 estão na base de dados ao meu ver o if é = true, se o query resulta em falso então ela vai pra parte do unset
       
      o erro ocorre na linha  $codemp = $row['codemp'] e faz sentido já que o row não existe com um query falso
       
      Alguem por favor pode me dizer onde esta o erro no if
       
      Obrigado pela atenção
       
    • Por AlvaroRabelo
      Boa Noite, a todos !
      Estou tentando consultar duas tabelas, sendo uma com nome pessoas e a outra de herdeiros,
      porem a tabela herdeiros somente tem o seu ID, e as colunas parent1 e parent2 e seus registros
      são somente números referente aos ID da tabela pessoa. quando tento fazer join não consigo
      trazer os nomes dos herdeiros somente números. tentei um select dentro select mas não
      funcionou...