Ir para conteúdo

POWERED BY:

Arquivado

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

Luiz_PhPFoRcE!

[Resolvido] Erro "Query was empty" !

Recommended Posts

Olá amigos, estou desenvolvendo um software para a empresa onde trabalho e deparo-me com um erro enjuado.....Criei dois botões para salvar os dados inseridos pelo usuario mas ele me retorna "QUERY WAS EMPTY".

Ajuda aí galera olha o software ai:

 

Arquivo: index.php

<?php
include "conectar.php";
?>

<fieldset style="padding: 2; WIDTH:760px; HEIGHT: 30"><legend><em><strong>L.A.S. - Sistema para levantamento de animais em Subestações.</strong></em></legend>
<table width="100%" border="0" cellspacing="0" cellpadding="3">

<tr>
<td align="left">Instalação:</td>
	<td align="left">
	<select name = "instalacao" id = "instalacao">				
			<option value=""></option>
			<?
			include ('sql/consulta_localizacao.php');	
			$b=mysql_query($sql);
				while($n=mysql_fetch_array($B))
				{
			?>	
			<option value="<?=$n['sub_estacoes'];?>"<? if($_REQUEST['sub_estacoes']==$t['sub_estacoes']){echo "selected=\selected\"";}?>>			
			<?=$n['sub_estacoes'];?>					
			</option>
				<?
				}
				?>
		</select>
		</td>	
		
<td align="right">Data:</td>
	<td align="left"><input name="data" id="data" value="<?=$_REQUEST['data'];?>" size="8" /></td>		
</tr><br>	

<tr>
<td align="left">Horário:</td>
	<td align="left"><input name="hora" id="hora" value="<?=$_REQUEST['data'];?>" size="6" /></td>	
	

<td align="right">Espécie:</td>
	<td align="left">
	<select name = "especie" id = "especie">				
			<option value=""></option>
			<?
			include ('sql/consulta_especies.php');	
			$b=mysql_query($sql);
				while($n=mysql_fetch_array($B))
				{
			?>	
			<option value="<?=$n['animais'];?>"<? if($_REQUEST['animais']==$t['animais']){echo "selected=\selected\"";}?>>			
			<?=$n['animais'];?>					
			</option>
				<?
				}
				?>
		</select>
		</td>
</tr><br>

<tr>		
<td align="left">Quantidade de animais:</td>
<td align="left"><input name="quantidade" id="quantidade" value="<?php echo $_REQUEST['quantidade'];?>" size="6" /></td>

<td align="right">Quantidade de ninhos:</td>
<td align="left"><input name="quantidade_ninhos" id="quantidade_ninhos" value="<?php echo $_REQUEST['quantidade_ninhos'];?>" size="8" /></td>


</tr>
<br>	
<tr>

<td align="left">Material metálico? :</td>
<td align="left">
	<select name = "material_metalico" id = "material_metalico">				
			<option value=""></option>
			<option value="">Sim</option>
			<option value="">Não</option>
			
<td align="right">Local:</td>
<td align="left"><input name="local" id="local" value="<?php echo $_REQUEST['local'];?>" size="25"/></td>

<tr>
<td align="left">Tensão:</td>
<td align="left"><input name="tensao" id="tensao" value="<?php echo $_REQUEST['tensao'];?>" size="6"/></td>
</tr>

</tr><BR>

<tr>
<td align="left">Danos aparentes: </td>
        <td colspan="3" align="left"><textarea name="danos_aparentes" cols="90" rows="5" 
		id="danos_aparentes"><?=$_REQUEST['danos_aparentes'];?></textarea></td>		
</tr>
<tr>
	<td align="left">Executante:</td>
	<td align="left"><input name="executante" id="executante" value="<?php echo $_REQUEST['executante'];?>" size="20"/></td>
</tr>
<td colspan="4" align="right"><table width="18%" border="0" cellspacing="0" cellpadding="0">
        		
</table></td>	
<tr>    
</table>
</tr>
</fieldset>	

<html>
<script language="Javascript"> 
function funcao(edit){
    if(edit.name=='btn1'){ 
	document.form1.action='bin/bin_SolCas.php'
	document.form1.submit()
	}
	if(edit.name=='btn2'){
	document.form1.action='pagina2.php'
	document.form1.submit()	
	}
}
</script>
	<body>
	<form name="form1" method="post"> 
	<input type="button" value="Salvar" name="btn1" onclick="funcao(this)"><br>
	<input type="button" value="Limpar" name="btn2" onclick="funcao(this)"><br>
	
</form>
</body>
</html>	

ARQUIVO: conectar.php

<?php

$db = mysql_connect ("localhost","root",""); //conecta ao banco
$selecionar_bd = mysql_select_db("las"); //seleciona o banco "las"


?>

ARQUIVO: bin_SolCas.php

<?
$instalacao = $_REQUEST['instalacao'];
$data = $_REQUEST['data'];
$horario = $_REQUEST['hora'];
$especie = $_REQUEST['especie'];
$quantidade = $_REQUEST['quantidade'];
$quantidade_ninhos = $_REQUEST['quantidade_ninhos'];
$metalico = $_REQUEST['material_metalico'];
$local = $_REQUEST['local'];
$tensao = $_REQUEST['tensao'];
$danos = $_REQUEST['danos_aparentes'];
$executante = $_REQUEST['executante'];
	//include ('conectar.php');
	include ('sql/sql_grava_bd.php');
	mysql_query($sql_1)or die(mysql_error());

?>
<script language="javascript">
	alert('Operação efetuada com Sucesso!');
    location.href('index.php?acao=inc_SolCas');
</script>

ARQUIVO: sql_grava_bd.php

<?php
$sql_1 = "insert into tclientes (Instalação, Data, hora, Espécie, Quantidade Animais, Quantidade Ninhos, Material metálico?, Local, Tensão, Danos aparentes, Executante)
VALUES('".$instalacao."', '".$data."', '".$horario."', '".$especie."', '".$quantidade."', '".$quantidade_ninhos."', '".$metalico."','".$local."','".$tensao."','".$danos."','".$executante."');

?>

Banco de dados foi criado em mysql......E ai o q acham que pode ser?

Agradeço desde já.

E peço desculpas se fiz algo de errado. Sou novo por aqui!

Abraço a todos! http://forum.imasters.com.br/public/style_emoticons/default/wink.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá, "quem" tá retornando essa mensagem? Digo, eu que linha e de qual arquivo?

 

Quanto ao tópico, você deveria ter usado a tag [ quote ][/ quote ] (sem espaços). Ficaria mais legível e parte do zseu código não viraria emoticons.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem amigo, me lembrarei da proxima vez.

O que aconteçe é o seguinte, criei 2 botões um para Salvar e outro para limpar, porém estou tentando fazer funcionar o botão salvar, rodo o programa master (index.php) e preecho todos os dados para fins de teste, então só assim clico no botão salvar, e ele me retorna somente "Query was empty!" me pareçe que o arquivo não "enxerga" os dados que inseri anteriormente no formulário.

Entedeu?

Abraço!

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já escreveu isso. Eu li e compreendi. Você que parece não ter entendido minha pergunta.

 

"Quem ou o que define essa mensagem "Query was empty"? Ela vêm de um or die() onde você escreveu a mensagem?"

 

Se você define essa mensagem manualmente, nesses códigos ela não aparece, então ela pode estar em um arquivo incluído nao mencionado no tópico.

 

"É uma mensagem do banco de dados, vinda por, por exemplo, mysql_error()?"

 

Nenhum dos seus mysql_query() tem um or die( myswl_error() ) na frente, logo, a detecção de erros fica difícil.

 

"Aparece algum erro do PHP (Fatal Error, Warning, Notice...)?

Se não, seu error_reporting está como E_ALL | E_STRICT?

Se sim, sua diretiva display_errors está como On no seu PHP.INI?"

É sempre uma boa prática, durante o desenvolvimento setar essas informações no nível mais alto possível. Assim você programa certo.

 

Pense a respeito e nos dê mais informações http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo acredito que a mensagem vem do arquivo mysql_error(); q se encontra no "bin_SolCas.php" que é o arquivo chamado de quando pressiono o botão, Já estive checando todas as minhas configurações do php.ini e estão todas como você citou.

Antes ele estava me negando o acesso ao banco de dados, mas já resolvi este problema porém agora ele me retorna sempre este erro!

Agradeço a ajuda.

 

;)

 

Outra coisa: Ele não me retorna nenhum erro fatal.

http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, supondo que o erro esteja em bin_SolCas.php, a linha que executa a query é:

 

mysql_query($sql_1)or die(mysql_error());

 

De onde vêm $sql_1? Você responderia algo como "do arquivo listado logo abaixo deste".

 

Agora experimente depurar essa variável com var_dump(). Posso apostar que o resultado será:

 

bool(false)
Acertei?

 

Apesar de ser uma péssima maneira de separar as queries do código que as executa, usar uma variável presente em um arquivo incluído funciona.

 

Se essa sua variável em particular está retornando FALSE, significa que o arquivo não está sendo incluído com sucesso.

 

E se suas configurações de alerta de erros estão certas, é impossível um erro do tipo "No such file or directory" estar sendo omitido, justo pelo fato de o script não estar encontrando esse arquivo.

 

Lembranddo que isso é uma hipótese sobre o arquivo mencionado, já que você possui outros dois mysql_query()'s sem um mysql_error().

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, fiz agora as correções das "query's" que você tinha dito anteriormente já coloquei o error() neles, e testei a variavel com o var_dump e ela me retorna o valor NULL..... o codigo ao invez de:

*mysql_query($sql_1)or die(mysql_error());

 

ficou assim:

 

*mysql_query($sql_1)or die (var_dump ($sql_1));

é assim mesmo que se faz?

Quando rodo o programa ele me retorna somente NULL, apos eu ter precionado o botão salvar

 

E ai o q acha? :( http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não necessariamente. Qualquer lugar abaixo do seu include já seria possível verificar com var_dump()

 

Faça um teste. Crie dois arquivos no mesmo diretório. Em um deles crie uma variável qualquer com um conteúdo qualquer.

 

No outro faça um include que aponte direto para esse arquivo, sem definição de subdiretórios nem nada.

 

E logo abaixo do include imprima a variável do outro arquivo.

 

Veja se funciona. Se funcionar (que é o correto), o problema do seu script está no include que não está "alcançando" o arquivo passado.

 

Mas é muito estranho que o script não encontra o arquivo e nenhum erro esteja sendo disparado. <_<

 

Você disse que suas configurações estão certas, mas por via das dúvidas coloque isso logo abaixo do <?php:

 

error_reporting( E_ALL | E_STRICT );

ini_set( 'display_errors', TRUE );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo, fiz o procedimento que você citou e deu tudo certo (o teste dos arquivos no mesmo diretorio), tambbém estou achando muito estranho ele nao me retornar nenhum erro!, mas irei levalo para empresa, e tentar resolver este problema por lá, agradeço muito por ter me ajudado, é de pessoas assim que a internet precisa!(mas infelizmente não é o q encontramos em alguns foruns espalhados pela internet.)Sou novo por aqui, mas adorei a comunidade e quero dizer que vim pra fikar e terei muito prazer em ajudar os amigos que tiverem duvidas nos assuntos que entendo!

Quando descobrir a falha posto aqui pra você!

Grande Abraço e mais uma vez OBRIGADO! ;) http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Cara, foi mal pela demora pois estava meio enrolado com outros softwares.....

Mas depois de um tempo descobrimos a falha do programa.....no arquivo "bin_Solcas" pois logo após os request's eu mandava que ele incluise alguns arquivos que iriam conectar-se e gravar ao banco os dados do formulário e lá estava o problema,,, antes era assim:

 

* //include ('conectar.php');

include ('sql/sql_grava_bd.php');

mysql_query($sql_1)or die(mysql_error());

 

agora ficou assim:

 

* include ('../conectar.php');

include ('../sql/sql_grava_bd.php');

mysql_query($sql_1)or die(mysql_error());

.................................................................................................

 

Ou seja todo o problema era causado pela falta dos pontos que indicariam o caminho correto aos arquivos!

 

Grande abraço galera!

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.