Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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

>
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 dadosAparece 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); print "Error!: " . $e->getMessage() . "<br/>";
die();
}
Leia!

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
Não é necessário especificar a porta, a PDO já faz isso internamente.
E porta do mysql é 3306 e não 8080