Jump to content

Erro a usar o Count em PHP


ReactionN

Recommended Posts

Boas pessoal,

Tou aqui com um pequeno problema e talvez vocês me possam ajudar,

O problema é o seguinte, quando eu peço para ele verificar se o utilizador que o cliente escolheu já existe, mesmo que nao exista na BD ele retoma a mensagem de que o utilizador já existe.

em baixo está o código utilizado para verificar se o utilizador existe ou não:

$teste =  mysqli_query($liga,"select COUNT(utilizador) FROM utilizadores WHERE utilizador='$Utilizador'"); //seleciona todos os nomes que existem com o nome digitado pelo utilizador

 $verificar = mysqli_num_rows($teste); //conta quantos registos foram encontrados na query anterior

 var_dump($verificar);

 if ($verificar> 0) {
	 echo "O Utillizador já se encontra registado no sistema. Por favor, utilize outro nome!";

 } else {

Desde já agradeço a quem me conseguir ajudar 🙂 .

Edited by brunoais
geshi!
Link to comment
Share on other sites

porque que na query tens um count, porque que depois ves o numero de rows afected??

e ja' agora nao executaste a query!

EDIT:

Exemplo de num_rows:



<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

http://php.net/manual/en/function.mysql-num-rows.php

Edited by pikax

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

Boas,

pikas, tens razão, a query é executada eu é que me esqueçi de colocar o código que estava antes 😛 .

MASNathan, fiz como tu sugeriste e retomou o seguinte erro "Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given...".

HappyHippyHippo, em relação ao 1º ponto, eu sei que retoma sempre um valor numérico.

em relação ao 2º ponto, a variável que estou a usar é "verificar", foi uma gralha a copiar o código para aqui.

Link to comment
Share on other sites

MASNathan, fiz como tu sugeriste e retomou o seguinte erro "Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given...".

isso é porque tens um erro no SQL ..

muito provavelmente porque não removeste um dos '(' ou ')' do count ...

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

verifica se a ligacao foi bem sucedida

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

mete para verificar se ele retorna alguma coisa

$teste = mysqli_query($liga,"select COUNT(utilizador) FROM utilizadores WHERE utilizador='$Utilizador'"); //seleciona todos os nomes que existem com o nome digitado pelo utilizador
      if($teste)
       {
		 $verificar = mysqli_num_rows($teste); //conta quantos registos foram encontrados na query anterior
		 print_r($verificar);
   }
      else
	  echo "errorr!!!<br>";


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

mete para verificar se ele retorna alguma coisa

$teste = mysqli_query($liga,"select COUNT(utilizador) FROM utilizadores WHERE utilizador='$Utilizador'"); //seleciona todos os nomes que existem com o nome digitado pelo utilizador
   if($teste)
	{
		 $verificar = mysqli_num_rows($teste); //conta quantos registos foram encontrados na query anterior
		 print_r($verificar);
   }
   else
	  echo "errorr!!!<br>";


Eu usei o var_dump antes de fazer o tal if e aquilo retoma um NULL

Link to comment
Share on other sites

a tua query tem algum erro, nao te importas de por aqui a tabela?

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.