Ir para conteúdo

POWERED BY:

Arquivado

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

suzart

[Resolvido] Erro com Query SQL

Recommended Posts

Pessoal bom dia sou novo aqui, gostaria de uma ajuda estou com certa dificuldade em uma tabela se alguem puder me ajudar.

 

<?php
require_once("autentica.php");
$titulo = $_GET["titulo"];

$sql = "DELETE FROM vagas WHERE titulo = $titulo";
$delete = mysql_query($sql) or die (mysql_error());
if ($delete)
{
 echo "Vaga removida com sucesso!";
}
else
{
 echo "Erro durante a remoção da notícia. Verifique os dados!";
}
?>
<a href="smvaga.php">Voltar</a>

 

esta dando erro sempre na query o erro e este

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1", se algume puder me ajudar fico grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse erro é que você está fazendo umacomparação num campo numérico e na realidade é uma string.

Tente assim:

 

 

$sql = "DELETE FROM vagas WHERE titulo = '$titulo'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Suzart, seja bem-vindo ao fórum.

Gostaria de lhe recomendar a leitura das nossas regras, pois algumas falhas foram cometidas nessa postagem: :seta: http://forum.imasters.com.br/topic/375800-orientacoes-para-uma-boa-participacao/

 

Quanto à sua dúvida, creio que com a solução do buenoweb, estará solucionada, mas o uso de aspas e organização do código poderia ser aprimorado dessa maneira:

 

$sql =
   '
   DELETE
       FROM `vagas`
   WHERE
       `titulo` = \'' . $titulo . '\'
   ';

 

Um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço desde de já a prontidão de vocês, vou ler sim o tópico! Aparentemente resolveu irei testar e comunico a todos que postaram ajuda! Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, por hora, estará sendo marcado como Resolvido.

 

Qualquer coisa, entre em contato que revertemos. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, por hora, estará sendo marcado como Resolvido.

 

Qualquer coisa, entre em contato que revertemos. :thumbsup:

 

Prezados, não esta dando mais erro, porém informa que o dado foi removido e não o remove, ele permanece lá, segue abaixo código com a alteração sugerida e estrutura do banco deste erro em especifico.

 

Código

 

 

<?php

require_once("autentica.php");

$titulo = $_GET["titulo"];

 

 

$sql = "DELETE FROM vagas WHERE titulo = '$titulo'";

$delete = mysql_query($sql) or die (mysql_error());

if ($delete)

{

echo "Vaga removida com sucesso!";

}

else

{

echo "Erro durante a remoção da notícia. Verifique os dados!";

}

?>

<a href="smvaga.php">Voltar</a>

 

 

Banco

 

Estrutura da tabela `vagas`

 

CREATE TABLE `vagas` (

`titulo` varchar(80) NOT NULL,

`descricao` text NOT NULL,

PRIMARY KEY (`titulo`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

 

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rode a query no phpMyAdmin por exemplo. Veja se executa e deleta com sucesso.

 

Se sim, a query está certa,se código está com problema. Se não, é a query.

 

No mais, você deveria estar usando mysql_affected_rows() nesse IF...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifica se nao está vindo algum caractere nao permitido na variavel titulo

o ideal era passar um id para excluir

 

 

Amigos eu pus um id para ver se resolvia e nada, vou postar o código como ficou, peço ajuda de vcs.

 

(Tela de consulta)

 

<?php

require_once("autentica.php");

ob_start();

?>

<html>
<link href="estilo.css" rel="stylesheet" type="text/css">
<head>

<title>Vaga</title>

</head>
<div id="tudo" 
<b class="dados"> 
<h2>Vaga</h2>

<table border="0">

<tr>

    <td width="200">Vaga</td>

    <td width="500">Dados</td>




</tr>



<?php

 $sql = "SELECT titulo,descricao FROM vagas";

 $vagas = mysql_query($sql);



 while ($dados = mysql_fetch_array($vagas)){

 ?>

  <tr>

     <td><?php echo $dados["vaga_id"];?><?php echo $dados["titulo"];?></td>

     <td><?php echo $dados["descricao"];?></td>

      <td><a href="frmeditar.php?codigo=<?php echo $dados["codigo"];?>">Editar</a></td>

     <td><a href="excluir.php?codigo=<?php echo $dados["vaga_id"];?>">Remover</a></td>

     <td><a href="excluir.php?vaga_id=<?php echo $dados["vaga_id"];?>">Remover</a></td>


     </td>

   </tr>


 <?php }

?>

</table>
</b>
</div>
<br>

<a href="frmadicionar.php" class="botao">Adicionar Vaga</a>
<a href="smcurso.php" class="botao">Cursos</a>
<a href="enquete/admin.php" class="botao">Enquete</a>
<a href="logout.php" class="botao">Sair</a>

</div>

</html>

 

(Codigo que exclui)

 

<?php

require_once("autentica.php");


$sql = "DELETE FROM vagas WHERE vaga_id = '".$vaga_id."'";
$delete = mysql_query($sql) or die (mysql_error());
if ($delete)
{
 echo "Vaga removida com sucesso!";
}
else
{
 echo "Erro durante a remoção da notícia. Verifique os dados!";
}
?>
<a href="index.php">Voltar</a>

 

ele informa que a vaga foi deletada com sucesso porém não apaga.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, vou recomendar novamente que você leia nossas regras antes de sua próxima postagem. O uso da tag CODE em códigos é fundamental para diferenciar um código de um texto qualquer, facilitando a visualização de quem está tentando te ajudar.

Quanto à sua dúvida, teste editar o segundo arquivo desta forma:

<?php
require_once("autentica.php");

$sql = 'DELETE FROM `vagas` WHERE `vaga_id` = '.(int)$_GET['vaga_id'];
$delete = mysql_query($sql) or die (mysql_error());
if ($delete)
{
 echo "Vaga removida com sucesso!";
}
else
{
 echo "Erro durante a remoção da notícia. Verifique os dados!";
}
?>
<a href="index.php">Voltar</a>

 

[]'s

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.