erasmo23 0 Denunciar post Postado Janeiro 17, 2017 Bom dia sou novo aqui e novo no PHP estou fazendo um curso de php no site lucian augusto mas vi que alguns dados estão obsoletos. está dando erro nas linhas 10, 11,12 e 15 as linhas são as do myqli real escape e da $cadastra com mysqli_query: <?php require("conecta.php"); echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'; echo '<title>CRUD - CREATE</title>'; if(isset($_POST['enviar'])){ $crud['titulo'] = mysqli_real_escape_string($_POST['titulo']); $crud['tags'] = mysqli_real_escape_string($_POST['tags']); $crud['descricao'] = mysqli_real_escape_string($_POST['descricao']); $query = "INSERT INTO php_teste (titulo, tags, descricao) VALUES ('$crud[titulo]','$crud[tags]','$crud[descricao]')"; $cadastra = mysqli_query($query) or die (mysqli_error()); if($cadastra){ echo 'Cadastrado com sucesso!'; }else{ echo 'Erro ao cadastrar!'; } }else; echo '<hr />'; ?> <form name="crud" action="" method="post" enctype="multipart/form-data"> <label> <span>Título:</span><br /> <input type="text" name="titulo" value="" /> </label><br /><br /> <label> <span>Tags:</span><br /> <input type="text" name="tags" value="" /> </label><br /><br /> <label> <span>Descrição:</span><br /> <textarea name="descricao" rows="5"></textarea> </label><br /><br /> <input type="submit" name="enviar" value="Cadastrar Agora" /> </form> quem puder me ajudar ficarei muito grato Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Janeiro 17, 2017 Qual erro está acontecendo? mysqli é perfeitamente funcional ainda hoje. Compartilhar este post Link para o post Compartilhar em outros sites
erasmo23 0 Denunciar post Postado Janeiro 17, 2017 o problema que no curso estão usando mysql e este nao conecta ai vi em alguns topico para mudar para mysqli coloquei com mysqli e esta dando este erro e Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in C:\wamp64\www\treinamentos\php\exercicios\crud\create.php on line 10 linhas 10,11,12 e Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\wamp64\www\treinamentos\php\exercicios\crud\create.php on line 15 Compartilhar este post Link para o post Compartilhar em outros sites
deoliveiralucas 4 Denunciar post Postado Janeiro 17, 2017 O primeiro erro está dizendo que a função "mysqli_real_escape_string" espera dois parâmetros; se você for olhar na documentação do PHP http://php.net/manual/pt_BR/mysqli.real-escape-string.php: o primeiro é link da conexão e o segundo é a string que vai ser escapada; sendo assim, o código deve ficar parecido com isso: $crud['titulo'] = mysqli_real_escape_string($conexao, $_POST['titulo']); $crud['tags'] = mysqli_real_escape_string($conexao, $_POST['tags']); Para o "mysqli_error", mesma coisa, só que no caso ele espera um parâmetro, que também é o link da conexão, http://php.net/manual/pt_BR/mysqli.error.php: mysqli_error($conexao) Essa variável com o link de conexão provavelmente está dentro do arquivo "conecta.php". Compartilhar este post Link para o post Compartilhar em outros sites
erasmo23 0 Denunciar post Postado Janeiro 17, 2017 no arquivo conecta esta assim <?php $hostname = "localhost"; $bancodedados = "phptotal"; $usuario = "root"; $senha = ""; $mysqli = new mysqli($hostname, $usuario, $senha, $bancodedados); if ($mysqli->connect_errno) { echo "Falha ao conectar: (" . $mysqli->connect_error . ") " . $mysqli->connect_error; } ?> qual seria o link da conexão? Compartilhar este post Link para o post Compartilhar em outros sites
erasmo23 0 Denunciar post Postado Janeiro 17, 2017 bom dia fiz os testes e deu certo da forma que me informou porém as tabelas nao estou vendo a alimentação que pode estar ocorrendo? codigo novo <?php require("conecta.php"); echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'; echo '<title>CRUD - CREATE</title>'; if(isset($_POST['enviar'])){ $crud['titulo'] = mysqli_real_escape_string($mysqli,$_POST['titulo']); $crud['tags'] = mysqli_real_escape_string($mysqli,$_POST['tags']); $crud['descricao'] = mysqli_real_escape_string($mysqli,$_POST['descricao']); $query = "INSERT INTO php_teste (titulo, tags, descricao) VALUES ('$crud[titulo]','$crud[tags]','$crud[descricao]')"; $cadastra = mysqli_query($mysqli,$query) or die (mysqli_error($mysqli)); if($cadastra){ echo 'Cadastrado com sucesso!'; }else{ echo 'Erro ao cadastrar!'; } }else; echo '<hr />'; ?> <form name="crud" action="" method="post" enctype="multipart/form-data"> <label> <span>Título:</span><br /> <input type="text" name="titulo" value="" /> </label><br /><br /> <label> <span>Tags:</span><br /> <input type="text" name="tags" value="" /> </label><br /><br /> <label> <span>Descrição:</span><br /> <textarea name="descricao" rows="5"></textarea> </label><br /><br /> <input type="submit" name="enviar" value="Cadastrar Agora" /> </form> Compartilhar este post Link para o post Compartilhar em outros sites
erasmo23 0 Denunciar post Postado Janeiro 17, 2017 muito obrigado lucas consegui a partir do que me passou era este detalhe mesmo agradeço demais porque como estou começando nesta parte de programação um detalhe afeta tudo Compartilhar este post Link para o post Compartilhar em outros sites