Ir para conteúdo

POWERED BY:

Arquivado

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

erasmo23

conectar com o banco de dados

Recommended Posts

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

Qual erro está acontecendo? mysqli é perfeitamente funcional ainda hoje.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

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

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

×

Informação importante

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