Luan00 0 Denunciar post Postado Maio 21, 2015 Os dados não estão sendo inseridos no banco de dados com MySQLi. Eu havia feito o mesmo sistema simples com MySQL e funcionou normalmente, onde estou errando com o MySQLi? Nenhuma mensagem de erro é informada. Há alguma forma de testar se o mysqli está funcionando? No phpinfo() esle está ativado.. dados.php <?php $nome = $_POST["nome"]; $data_de_nascimento = $_POST["data_de_nascimento"]; $email = $_POST["email"]; $telefone = $_POST["telefone"]; $conexao = new mysqli_connect('localhost','root','senha','cadastros'); if (mysqli_connect_errno()) { die("Falha na conexão! ".mysqli_connect_error()); exit(); } $sql = "INSERT INTO cadastros(nome,data_de_nascimento,email,telefone) VALUES(?,?,?,?)"; $stmt = $conexao->prepare($sql); $stmt = mysqli_bind_param("ssss", $nome,$data_de_nascimento,$email,$telefone); $stmt->mysqli_execute(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Jeovane Carvalho 6 Denunciar post Postado Maio 21, 2015 Essa funções que você usa esta obsoletas repara : mysqli_execute mysqli_bind_param Eu troquei pelas funções atuais abaixo a partir do php 5.5 elas estão obsoletas mysqli_stmt_bind_param mysqli_stmt_execute Dá uma lida na documentação sobre elas: http://php.net/manual/pt_BR/function.mysqli-execute.php http://php.net/manual/pt_BR/function.mysqli-bind-param.php Mas montei uma rapidinho aqui e testei localmente e funcionou perfeitamente e fiz um pequeno form para teste para ver se estava inserindo no banco e inseriu perfeitamente segue abaixo: FORM: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sem título</title> </head> <body> <form action="teste_config.php" method="post" enctype="multipart/form-data"> <input type="text" name="nome" id="nome" /> <input type="text" name="data_de_nascimento" id="data_de_nascimento" /> <input type="text" name="email" id="email" /> <input type="text" name="telefone" id="telefone" /> <input type="submit" name="enviar" value="enviar" /> </form> </body> </html> O SCRIPT EM PHP <?php $MySQL = array( 'servidor' => 'localhost', // Endereço do servidor 'usuario' => 'root', // Usuário 'senha' => '', // Senha 'banco' => 'jc' // Nome do banco de dados ); $MySQLi = new MySQLi($MySQL['servidor'], $MySQL['usuario'], $MySQL['senha'], $MySQL['banco']); // Verifica se ocorreu um erro e exibe a mensagem de erro if(mysqli_connect_errno()) trigger_error(mysqli_connect_error(), E_USER_ERROR); ?> <?php $nome = $_POST["nome"]; $data_de_nascimento = $_POST["data_de_nascimento"]; $email = $_POST["email"]; $telefone = $_POST["telefone"]; if(empty($nome)){ echo "<script>alert('Por Favor ! Preencha o nome')</script>"; echo "<script language='javascript'>history.back()</script>"; }elseif(empty($data_de_nascimento)){ echo "<script>alert('Por Favor ! Preencha a data de nascimento')</script>"; echo "<script language='javascript'>history.back()</script>"; }elseif(empty($email)){ echo "<script>alert('Por Favor ! Preencha o Email')</script>"; echo "<script language='javascript'>history.back()</script>"; }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){ echo "<script>alert('Email Inválido Tente Novamente')</script>"; echo "<script language='javascript'>history.back()</script>"; }elseif(empty($telefone)){ echo "<script>alert('Por Favor ! Preencha um número de Telefone')</script>"; echo "<script language='javascript'>history.back()</script>"; }else{ $sql= ("INSERT INTO cadastros (nome,data_de_nascimento,email,telefone) VALUES (?, ?, ?, ?)")or print(mysqli_error()); //Prepare the query $envia = $MySQLi->prepare($sql); //Bind the parameters mysqli_stmt_bind_param($envia,'ssss', $nome,$data_de_nascimento,$email,$telefone); //Execute the query mysqli_stmt_execute($envia); //Close the statement mysqli_stmt_close($envia); if(!empty($sql)==1){ echo "<script>alert('** Mensagem enviada com Sucesso: **');</script>"; echo "<script language='javascript'>history.back()</script>"; }else{ echo "<div align='center'><br /><br /><br /><br /><script>alert('HOUVE UM ERRO COM O SEU BANCO DE DADOS A MENSAGEM NÃO FOI ENVIADA')</script></div>"; echo "<script language='javascript'>history.back()</script>"; } return; } ?> Testa aí man, aqui funcionou 100% no meu WAMP.. Compartilhar este post Link para o post Compartilhar em outros sites
Luan00 0 Denunciar post Postado Maio 22, 2015 Essa funções que você usa esta obsoletas repara : mysqli_execute mysqli_bind_param Eu troquei pelas funções atuais abaixo a partir do php 5.5 elas estão obsoletas mysqli_stmt_bind_param mysqli_stmt_execute Dá uma lida na documentação sobre elas: http://php.net/manual/pt_BR/function.mysqli-execute.php http://php.net/manual/pt_BR/function.mysqli-bind-param.php Mas montei uma rapidinho aqui e testei localmente e funcionou perfeitamente e fiz um pequeno form para teste para ver se estava inserindo no banco e inseriu perfeitamente segue abaixo: FORM: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sem título</title> </head> <body> <form action="teste_config.php" method="post" enctype="multipart/form-data"> <input type="text" name="nome" id="nome" /> <input type="text" name="data_de_nascimento" id="data_de_nascimento" /> <input type="text" name="email" id="email" /> <input type="text" name="telefone" id="telefone" /> <input type="submit" name="enviar" value="enviar" /> </form> </body> </html> O SCRIPT EM PHP <?php $MySQL = array( 'servidor' => 'localhost', // Endereço do servidor 'usuario' => 'root', // Usuário 'senha' => '', // Senha 'banco' => 'jc' // Nome do banco de dados ); $MySQLi = new MySQLi($MySQL['servidor'], $MySQL['usuario'], $MySQL['senha'], $MySQL['banco']); // Verifica se ocorreu um erro e exibe a mensagem de erro if(mysqli_connect_errno()) trigger_error(mysqli_connect_error(), E_USER_ERROR); ?> <?php $nome = $_POST["nome"]; $data_de_nascimento = $_POST["data_de_nascimento"]; $email = $_POST["email"]; $telefone = $_POST["telefone"]; if(empty($nome)){ echo "<script>alert('Por Favor ! Preencha o nome')</script>"; echo "<script language='javascript'>history.back()</script>"; }elseif(empty($data_de_nascimento)){ echo "<script>alert('Por Favor ! Preencha a data de nascimento')</script>"; echo "<script language='javascript'>history.back()</script>"; }elseif(empty($email)){ echo "<script>alert('Por Favor ! Preencha o Email')</script>"; echo "<script language='javascript'>history.back()</script>"; }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){ echo "<script>alert('Email Inválido Tente Novamente')</script>"; echo "<script language='javascript'>history.back()</script>"; }elseif(empty($telefone)){ echo "<script>alert('Por Favor ! Preencha um número de Telefone')</script>"; echo "<script language='javascript'>history.back()</script>"; }else{ $sql= ("INSERT INTO cadastros (nome,data_de_nascimento,email,telefone) VALUES (?, ?, ?, ?)")or print(mysqli_error()); //Prepare the query $envia = $MySQLi->prepare($sql); //Bind the parameters mysqli_stmt_bind_param($envia,'ssss', $nome,$data_de_nascimento,$email,$telefone); //Execute the query mysqli_stmt_execute($envia); //Close the statement mysqli_stmt_close($envia); if(!empty($sql)==1){ echo "<script>alert('** Mensagem enviada com Sucesso: **');</script>"; echo "<script language='javascript'>history.back()</script>"; }else{ echo "<div align='center'><br /><br /><br /><br /><script>alert('HOUVE UM ERRO COM O SEU BANCO DE DADOS A MENSAGEM NÃO FOI ENVIADA')</script></div>"; echo "<script language='javascript'>history.back()</script>"; } return; } ?> Testa aí man, aqui funcionou 100% no meu WAMP.. Vou testar agora mesmo! @EDIT Jeovane, vlwzão cara! Agora funcionou!! Compartilhar este post Link para o post Compartilhar em outros sites
Jeovane Carvalho 6 Denunciar post Postado Maio 22, 2015 Sem problema man , precisar estamos juntos, somos uma família aqui... :joia: Compartilhar este post Link para o post Compartilhar em outros sites