Ir para conteúdo

POWERED BY:

Arquivado

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

Luan Ramos

localhost roda, mas no servidor não.

Recommended Posts

Boa tarde amigos.

 

Venho requerer suporte na seguinte situação:

 

Tenho um sistema de provas que o aluno tem uma tela que ele lista todas as provas que ele ainda não fez e que estão cadastradas para turma dele, para isso ele executa este código:

 

$colname_prova = "-1";
if (isset($_GET['turma'])) {
  $colname_prova = $_GET['turma'];
}
mysql_select_db($database_DB_Connect, $DB_Connect);
$query_prova = sprintf("SELECT * FROM sis_prova, sis_aluno 
							WHERE sis_aluno.cpf=".$cpf.
							" AND sis_prova.curso= ".$colname_prova.
							" AND NOT EXISTS (SELECT null 
								 FROM sis_prova sis_prova2, sis_resp_prova, sis_aluno sis_aluno2 
								 WHERE sis_aluno2.cpf = sis_aluno.cpf 
								 AND sis_resp_prova.matricula = sis_aluno2.cpf 
                                 AND sis_prova2.cod_prova = sis_resp_prova.cod_prova1 
                                 AND sis_prova2.cod_prova = sis_prova.cod_prova)");
$prova = mysql_query($query_prova, $DB_Connect) or die(mysql_error());
$row_prova = mysql_fetch_assoc($prova);
$totalRows_prova = mysql_num_rows($prova);

 

E isso localmente funciona corretamente, até testando direto no banco funciona corretamente.

e quando coloco no servidor para de funcionar e aparece a seguinte mensagem:

 

 

Coluna 'SGA0112' desconhecida em 'where clause'.

 

Então já que funciona direto no banco localmente, eu presumo que esteja errando algo de PHP, por isso resolvi postar aqui.

 

Agradeço desde já.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

algum campo ai é varchar?

esse 'SGA0112' seria oq, valor de qual coluna?

Compartilhar este post


Link para o post
Compartilhar em outros sites

este erro é tipico de não colocar aspas nos campos. Quanto a só funcionar localmente, os dados devem estar diferentes. Tenta colocar:

 

 


WHERE sis_aluno.cpf='".$cpf. "' AND sis_prova.curso= '".$colname_prova. "'

ao invés de:

 


WHERE sis_aluno.cpf=".$cpf. " AND sis_prova.curso= ".$colname_prova. "

Compartilhar este post


Link para o post
Compartilhar em outros sites

algum campo ai é varchar?

esse 'SGA0112' seria oq, valor de qual coluna?

 

SGA0112 é o valor da variável $colname_prova que corresponde a turma do aluno.

 

 

este erro é tipico de não colocar aspas nos campos. Quanto a só funcionar localmente, os dados devem estar diferentes. Tenta colocar:

 

 


WHERE sis_aluno.cpf='".$cpf. "' AND sis_prova.curso= '".$colname_prova. "'

ao invés de:

 


WHERE sis_aluno.cpf=".$cpf. " AND sis_prova.curso= ".$colname_prova. "

 

Amigo, fiz as modificações, o erro saiu, porém agora ele não busca mais as provas. não da erro nenhum, mas não aparece prova cadastrada para a turma em questão.

 

agora está assim:

$colname_prova = "-1";
if (isset($_GET['turma'])) {
  $colname_prova = $_GET['turma'];
}
mysql_select_db($database_DB_Connect, $DB_Connect);
$query_prova = sprintf("SELECT * FROM sis_prova, sis_aluno 
							WHERE sis_prova.curso='".$colname_prova.
							"' AND sis_aluno.cpf= '".$cpf.
							"' AND NOT EXISTS (SELECT null 
								 FROM sis_prova sis_prova2, sis_resp_prova, sis_aluno sis_aluno2 
								 WHERE sis_aluno2.cpf = sis_aluno.cpf 
								 AND sis_resp_prova.matricula = sis_aluno2.cpf 
								 AND sis_prova2.cod_prova = sis_resp_prova.cod_prova1 
                                 AND sis_prova2.cod_prova = sis_prova.cod_prova)");
$prova = mysql_query($query_prova, $DB_Connect) or die(mysql_error());
$row_prova = mysql_fetch_assoc($prova);
$totalRows_prova = mysql_num_rows($prova);

Compartilhar este post


Link para o post
Compartilhar em outros sites

echo $totalRows_prova;
diga oq retorna disso.

 

se for 0, então vc não tem nenhuma prova cadastrada q corresponda a sua busca.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

echo $totalRows_prova;
diga oq retorna disso.

 

se for 0, então vc não tem nenhuma prova cadastrada q corresponda a sua busca.

 

Essa é a questão. Quando eu rodo essa página localmente funciona, retorna só as provas que o aluno corresponde ao $cpf e a turma $colname_prova ainda não fez.

 

Mas quando coloco no servidor não me traz nenhum resultado. Porém existm provas cadastradas para essa turma, e o aluno ainda não fez nenhuma. Ou seja, deveria aparecer 2 provas.

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.