Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Henrique Buzin

Insert Mysqli

Recommended Posts

Olá estou com um problema na inserção de posts no banco de dados através do Mysqli, não insere.

Agradeço desde já.

 

código do include

<?php
class bd{
 
function __construct($tipo){
if($tipo == true){
$mysqli = new mysqli('mysql.hostinger.com.br', 'u883969569_bolt', 'xxx', 'u883969569_bolt');
}else{
$mysqli = new mysqli('127.0.0.1', 'root', '', 'u883969569_bolt');
}
 
if (mysqli_connect_errno()){
die('Não foi possível conectar-se ao banco de dados: ' . mysqli_connect_error());
exit();
}
}
}
?>

código form

<form action="" method="POST" id="form">
<label for="email">E-ma­il:</label><br class="clear"/>
<input type="text" id="email" name="cEmail" placeholder="usuario@exemplo.com"/><br class="clear"/>
<label for="assunto">Assun­to:</label><br class="clear"/>
<input type="text" id="assunto" name="cAssunto" placeholder="Pergunta sem resposta, falha..."/><br class="clear"/>
<label for="mensagem">Men­sa­gem:</label><br class="clear"/>
<textarea id="mensagem" name="cMensagem" placeholder="Olá, estive observando que..." rows="5"></textarea><br class="clear"/>
<input type="reset" value="Limpar" class="buttons" name="creset"/>
<input type="submit" value="Enviar" class="buttons" name="cSubmit"/>
</form>
<?php
if(!empty($_POST)){
echo $_POST['cEmail'];
$sql = $mysqli->prepare("INSERT INTO contato (email, assunto, mensagem) values (?, ?, ?)");
$sql->bind_param('sss', $email, $assunto, $mensagem);
$email = $_POST["cEmail"];
$assunto = $_POST["cAssunto"];
$mensagem = $_POST["cMensagem"];
$sql->execute();
$sql->close();
$mysqli->close();
}    
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a finalidade da class bd, se ela não esta sendo usada.

Fiz umas modificações use assim:

class bd{

    public static function getMysqli( $tipo)
    {
        if($tipo == true){
            return new mysqli('mysql.hostinger.com.br', 'u883969569_bolt', 'xxx', 'u883969569_bolt');
        }else{
            return new mysqli('127.0.0.1', 'root', '', 'u883969569_bolt');
        }
        if (mysqli_connect_errno()){
            die('Não foi possível conectar-se ao banco de dados: ' . mysqli_connect_error());
            exit();
        }                
    }
}

Dentro do post faça assim:

if(!empty($_POST)){
$mysqli = bd::getMysqli(false);
...
}

Fiz sem testar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou estudar o que houve, mas apenas trocando o arquivo de conexao com apenas algumas mudanças em cima daquele do nosso colega de fórum que marquei como resolvido funcionou.

Muito Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.