Ir para conteúdo

POWERED BY:

Arquivado

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

cristianomg

Onde está o erro de Sintaxe ?

Recommended Posts

E ae pessoal,

Bom minha inserção está gerando uma MENSAGEM de falha, mas insere no banco ao trocar alguma coisa no código de inserção n ão apresenta a MSG de falha e insere somente o ultimo registro de todos selecionados nos checkbox.

<form class="form-horizontal" action="cadastros/salva_pessoa_fisica_terceira_parte.php" method="post">

 <!--input type="text"  id="id" name="id" value="1" class="inp-form-need" /-->

  <!-- Appended BARCO -->
  <div id="barco" class="controls">
  
    <div class="input-append">
      <input id="" name="" class="span2" placeholder="Gosto de Barco" type="text">
      <span class="add-on">
        <input type="checkbox" name="interesse[]" value="1"  checked="false" >
      </span>
    </div>
  </div>

  <!-- Appended BICICLETA-->

    <div id="bicicleta" class="controls">
    <div class="input-append">
      <input id="" name="" class="span2" placeholder="Gosto de bicicletas" type="text">
      <span class="add-on">
        <input type="checkbox" name="interesse[]" value="2"  checked="false" >
      </span>
    </div>
  </div>

<div id="botoes" class="control-group">
  <label class="control-label" for="btn_salva"></label>
  <div class="controls">
    <input type="submit" id="btn_salva" name="enviar" value="Prosseguir"class="btn btn-success">      
  </div>
</div>




</form>

Fazendo a inserção na base, com este código abaixo grava todos que selecionei e exibe mensagem de erro, conforme abaixo onde lista minhas escolha, num echo que dei para teste:

 

1
2
3
falhaYou 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

	if($_POST['enviar']) {
			foreach($_POST['interesse'] AS $valor) {
			echo $valor."<br>";
			$id= 1;//ficticio para teste
			$sql= mysql_query("INSERT INTO interesse (idusuario, id_interesse) VALUES ($id,$valor)") or die (mysql_error());
			}
		}
		
		 if($resultado=mysql_query($sql)){
 
			echo "<script>alert('Cadastro salvo com sucesso');</script>";
			echo "<script>window.location='../index.php';</script>";
		}else{
			echo "falha";
			echo mysql_error();
		}
		

Se eu alterar para :

$sql= @mysql_query("INSERT INTO interesse ... or die (mysql_error());

Também insere as seleções e mostra msg de erro, mas se a linah de inserção for conforme abaixo, não mostra MSG de erro, só que insere o último registro de tipo três seelcionados.

$sql= ("INSERT INTO interesse (idusuario, id_interesse) VALUES ($id,$valor)") or die (mysql_error());

Eu recebo na tela :

 

5

6

Mensagem de item salvo com sucesso, mas no banco inseriu somente a seleção 6 do checkbox

 

 

 

Não encontrei o problema da sintaxe para correção de gravaros selecionados e mostrar a mensagem de conformação.

 

 

 

 

 

 

 

 

 

 

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.