Ir para conteúdo

POWERED BY:

Arquivado

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

Alison_Melo

Problema engraçado com comando sql

Recommended Posts

Fala galera,

É o seguinte, estou com um problema um tanto estranho, ta sei que o problema é a "pécinha" kkk,

mas, eu criei um simples cadastro, apenas para estudo, e nele criei um comando para excluir os dados que procura a linha pelo id, funciona perfeitamente, e criei um código para alterar os dados, e também funciona peeerfeitamente,

mas quando eu excluo, ele volta a seguinte mensagem de erro:

 

 

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 '1' at line 1

 

código:

<?php

include "conect.php";


$sql = mysql_query("DELETE FROM cadastro WHERE id='$id'");
$resultado = mysql_query($sql)
or die (mysql_error());
echo "<h1>Cadastro removido com exito!</h1><br />";
echo "<a href='clientes.php'> Voltar</a>";


?>

 

Que bobagem estou fazendo, poderiam me informar ?

Detalhe, mesmo ele apresentando erro ele deleta sem nenhum problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$id eu to pegando de outra pagina

 

<?php

include "conect.php";



$sql = "SELECT * FROM cadastro WHERE id='$id'";
$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta ao banco de dados");


while ($ver = mysql_fetch_array($resultado)) {

$id        = $ver['id'];
$nome      = $ver['nome'];
$telefone  = $ver['telefone'];
$telefone1 = $ver['telefone1'];
$telefone2 = $ver['telefone2'];
$email     = $ver['email'];
$data      = $ver['data'];


echo "<form method='post' action='alt.php?id=$id'>";
echo "<input type='hidden' value='$id' name='id_novo' id='id'>";
echo "Nome:		  <input type='text' name='nome_novo'      id='nome' value='$nome' /><br /><br />";
echo "Telefone:   <input type='text' name='telefone_novo'  id='telefone'  value='$telefone' maxlength='2' style='width:22px;' >
			  <input type='text' name='telefone1_novo' id='telefone1' value='$telefone1' maxlength='4' style='width:44px;' >
           	  <input type='text' name='telefone2_novo' id='telefone2' value='$telefone2' maxlength='4' style='width:44px;' ><br /><br />";
echo "E-mail: 	  <input type='text' name='email_novo' id='email' value='$email'><br />";
echo "<center>	  <input type='submit' value='Alterar Dados' /></center>";
echo "</form>";
}
?>

 

é conect mesmo,

eu faço tudo no pulo mesmo kk

Compartilhar este post


Link para o post
Compartilhar em outros sites

como citaram acima, $id vem de onde?

 

o problema provavelmente é o $id ser vazio...

 

mas, se não for o problema, poe um echo no comando sql e posta o comando para nois analisar prucê :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas se eu pegar pela url como eu to fazendo ele vai ficar como vazia ?

pq na verdade, o while que ta pegando verificando o id ta em uma pagina, e o código que altera ta em outra

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que estar faltando pegar o id na URL

 


<?php

include "conect.php";

$id=$_GET['id'];

$sql = mysql_query("DELETE FROM cadastro WHERE id='$id'");
$resultado = mysql_query($sql)
or die (mysql_error());
echo "<h1>Cadastro removido com exito!</h1><br />";
echo "<a href='clientes.php'> Voltar</a>";


?>

 

Testa ai..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas se eu pegar pela url ele vai ficar como vazia ?

pq na verdade, o while que ta pegando verificando o id ta em uma pagina, e o código que altera ta em outra

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usanto o $_GET deu o msm erro

 

Com include da o mesmo erro

Mas eu estou usando url tipo

 

 

echo "<td>  <a href='altera.php?id=$id'>Alterar </a></td>";

 

ele n deveria pegar a id só nisso ?

até pq, ele ja ta encontrando a id certa pra excluir

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce tentou assim??

 

<?php

include "conect.php";

$id=$_GET['id'];

$sql = mysql_query("DELETE FROM cadastro WHERE id='$id'");
$resultado = mysql_query($sql)
or die (mysql_error());
echo "<h1>Cadastro removido com exito!</h1><br />";
echo "<a href='clientes.php'> Voltar</a>";


?>

 

Outra coisa, esse $id vem de onde?

 

$sql = "SELECT * FROM cadastro WHERE id='$id'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei também,

então o id ta vindo de outra pagina,

mas ai que eu me perco um pouco porque,

ele reconhece quem ele vai ter que apagar,

Mas ele pega o id de outra pagina, que no formulário tem:

echo "<form method='post' action='alt.php?id=$id'>";

 

Sou leigo, mas pra mim isso seria o suficiente pra ele reconhecer a id

até a register globals ta on aki

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

echo "<form method='post' action='alt.php?id=$id'>";

 

ah, forms assim nao costumam dar muito certo nao....principalmente quando você ker q uma id na action, la na outra pagina você precisa pegar este id por get, mas o form esta sendo enviado por post...2 requisicoes ao mesmo tempo nao dara certo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

igor, me da uma luz cara,

se eu tira esse form, como eu poderia fazer tal feito ?

 

include rolaria ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na action deixa somente o alt.php

 

dentro do form você coloca um input do tipo hidden e no value deste hidden você coloca o echo $id...

 

posta todo o script ae..da pagina q recebe e do form..

Compartilhar este post


Link para o post
Compartilhar em outros sites

clientes.php

<!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>Clientes  Cadastrados</title>
</head>

<body>
<style>
body{


   font-family: verdana, Verdana, Tahoma, Sans-Serif; 
   color:#000000;
text-shadow:inherit; 
   font-size: 20px; 
} 
a:hover
{ 

}
</style>

<table align="center" width="100%" background="bg_papel2b.jpg" border="1"   bordercolor="#999999">
<?php
require "conect.php";




echo "<center><a href='index.php'>Novo Cadastro</a></center> ";



echo "<tr>";
echo "<td> Nº: </td>";
echo "<td> Nome: </td>";
echo "<td> Telefone:</td>";;
echo "<td> Email: </td>";
echo "<td> Cadastrado em: </td>";
echo "<td> Exluir cadastro: </td>";
echo "<td> Alterar </td>";
echo "</tr>";



$query = mysql_query("SELECT * FROM cadastro ORDER BY id asc");
while($ver=mysql_fetch_array($query)){

$id        = $ver['id'];
$nome      = $ver['nome'];
$telefone  = $ver['telefone'];
$telefone1 = $ver['telefone1'];
$telefone2 = $ver['telefone2'];
$email     = $ver['email'];
$data      = $ver['data'];




echo "<tr>";
echo "<td> $id </td>";
echo "<td> $nome </td>";
echo "<td> ($telefone)-$telefone1-$telefone2</td>";;
echo "<td>$email </td>";
echo "<td> $data </td>";
echo "<td>  <a href='remove.php?id=$id'>Excluir </a></td>";
echo "<td>  <a href='altera.php?id=$id'>Alterar </a></td>";
echo "</tr>";
};



?>
</table>


</body>
</html>

 

remove.php

<?php

include "conect.php";


$sql = mysql_query("DELETE FROM cadastro WHERE id='$id'");
$resultado = mysql_query($sql)
or die (mysql_error());
echo "<h1>Cadastro removido com exito!</h1><br />";
echo "<a href='clientes.php'> Voltar</a>";
mysql_close($sql);


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

se esta assim

 

echo "<td> <a href='remove.php?id=$id'>Excluir </a></td>";

 

em uma, tem de estar assim

 

id = $_GET['id'];

$sql = mysql_query("DELETE FROM cadastro WHERE id='$id'");

$resultado = mysql_query($sql)

or die (mysql_error());

echo "<h1>Cadastro removido com exito!</h1><br />";

echo "<a href='clientes.php'> Voltar</a>";

mysql_close($sql);

 

 

na outra...

 

eu nao vi ligacao nenhuma de uma com outra, a nao ser o link, e dae ele nao pegar o $id....pra pegar o $id automaticamente da outra, clientes.php, o cliente.php tinha q estar incluido no remove.php o q nao aconteceu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei incluir, ele deu o mesmo erro, mas cada vez que atualizava a pagina, ele apagava o dado anterior,

dai puis o $_GET e ele só apaga o dado selecionado pelo usuario,

mas o problema persiste kkk,

fiquem calmos, um dia eu aprendo UHSAUHSA

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysql_query dentro de mysql_query

 

O correto é query dentro de mysql_query

 

Assim:

 


$sql = "DELETE FROM cadastro WHERE id='$id'";
$resultado = mysql_query($sql)


 

Você estava fazendo

mysql_query(mysql_query()); 

 

Isso é o que acontece nesses casos

 

Warning: mysql_query() expects parameter 1 to be string

 

O primeiro paramêtro deve ser uma string.

 

$string = "Isso é uma string" . 'isso também'

$string = <<<string
Aqui também é uma string
string;

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.