mysql_query () expects parameter 1 to be string, resource give [duplicate]

0

Then I searched my code to find a solution, but the error can be database, every time I finished the registration was to be sent an email, but of that error.

  

Warning: mysql_query () expects parameter 1 to be string, resource   given in C: \ xampp \ htdocs \ Control \ cadastrando.php on line 67 Error no   sending of the e-mail: SMTP connect () failed.    link

<?php    
    $email = $_POST['email'];

    $result_leados = "INSERT INTO tb_usuarios email VALUES ('$email')";
    $resultado_leados = mysql_query($con, $result_leados);

    //Inicio Enviar e-mail
    require 'PHPMailer/PHPMailerAutoload.php';

    $Mailer = new PHPMailer();

    //Define que será usado SMTP
    $Mailer->IsSMTP();

    //Enviar e-mail em HTML
    $Mailer->isHTML(true);

    //Aceitar carasteres especiais
    $Mailer->Charset = 'UTF-8';

    //Configurações
    $Mailer->SMTPAuth = true;
    $Mailer->SMTPSecure = 'ssl';

    //nome do servidor
    $Mailer->Host = 'localhost';
    //Porta de saida de e-mail 
    $Mailer->Port = 465;

    //Dados do e-mail de saida - autenticação
    $Mailer->Username = '[email protected]';
    $Mailer->Password = 'modercontrol';

    //E-mail remetente (deve ser o mesmo de quem fez a autenticação)
    $Mailer->From = '[email protected]';

    //Nome do Remetente
    $Mailer->FromName = 'Controla estoque';

    //Assunto da mensagem
    $Mailer->Subject = 'Titulo - Confirmação de email';

    //Corpo da Mensagem
    $mensagem = "Olá <br><br>";
    $mensagem .= "Confirme seu e-mail acessar o sistema, após isso execute o login. <br> <br>";
    $mensagem .= "Sua Conta Foi Desbloquueada</a><br> <br>";
    $mensagem .= "Se você recebeu este e-mail por engano, simplesmente o exclua.<br> <br>";
    $mensagem .= "Controla estoque";

    $Mailer->Body = $mensagem;

    //Corpo da mensagem em texto
    $Mailer->AltBody = 'conteudo do E-mail em texto';

    //Destinatario 
    $Mailer->AddAddress($email);

    if($Mailer->Send()){
        echo "E-mail enviado com sucesso";
    }else{
        echo "Erro no envio do e-mail: " . $Mailer->ErrorInfo;
    }

    //Fim Enviar e-mail
?>
    
asked by anonymous 04.04.2018 / 18:35

1 answer

1

The SQL command is wrong, the name of the fields in insert should be enclosed in parentheses, like this:

 $result_leados = "INSERT INTO tb_usuarios(email) VALUES ('$email')";

Additionally, you can not send email through gmail using Host as "localhost". The correct would be:

$mail->Host = 'smtp.gmail.com';

Finally, see if your gmail account is set up to send emails through Sites / Apps. Sign in to your google account and visit this link to see if it's enabled: link

Finally, if you're still in trouble, it may be something more specific. Here's another thread with some good answers: Email via PHPmailer for Gmail

    
04.04.2018 / 18:42