Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1274
Sexo: Masculino

dúvida sobre mysql_num_rows

14-07-2010 09:34

Veja-se este código:
<? if(isset($_POST[s1])) { $q1 = "select * from re2_agents where username = '$_POST[us]' and password = '$_POST[ps]' "; $r1 = mysql_query($q1) or die(mysql_error()); if(mysql_num_rows($r1) == '1') { //ok $a1 = mysql_fetch_array($r1); $_SESSION[AgentID] = $a1[AgentID]; $_SESSION[username] = $a1[username]; $_SESSION[MaxOffers] = $a1[offers]; $_SESSION[AccountStatus] = $a1[AccountStatus]; $_SESSION[TipodeConta] = $a1[TipodeConta]; $_SESSION[AccountExpireDate] = $a1[ExpDate]; header("location:index.php"); exit(); } else { $error = "<font face=verdana color=red size=2><b>Nome de usuário ou senha inválidos.</b></font>"; } } ?>

Há esta linha:
if(mysql_num_rows($r1) == '1')

Encontrei a seguinte definição para mysql_num_rows(): retorna o número de linhas em um resultado. Este comando é valido apenas para o SELECT. Para obter o número de linhas afetadas por INSERT, UPDATE ou DELETE, use mysql_affected_rows().

E o seguinte exemplo:
<?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"; ?>

Fiz o teste do exemplo acima com dados do banco de dados do código que estou desenvolvendo, e resultou 2 Rows.

O que quer dizer retorna o número de linhas em um resultado? Para que serve?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17671
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

dúvida sobre mysql_num_rows

14-07-2010 13:59

Tipo, se você selecionar todos campos da tabela, vai retornar o números de linhas, de acordo com a query. Isso serve por exemplo para você informar que existem tantos produtos do tipo buscado na tabela.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1274
Sexo: Masculino

dúvida sobre mysql_num_rows

14-07-2010 14:10

Pelo que vi, no caso do exemplo que coloquei, cada linha corresponderia a um id? No resultado do exemplo que retornou 2 Rows, quer dizer duas linhas? Noutra tabela, retornou 9 Rows.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17671
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

dúvida sobre mysql_num_rows

14-07-2010 15:46

Isso mesmo. Se cada cadastro tem um id, em uma consulta com 10 linhas, irá retornar 10 ids, na disposição que você colocar no while.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1274
Sexo: Masculino

dúvida sobre mysql_num_rows

14-07-2010 16:05

Então, mas se uma consulta tem 10 linhas, por quê if(mysql_num_rows($r1) == '1')? Poderia ser igual a outro número que não zero? É algum tipo de padrão?
Também poderia ser if(mysql_num_rows($r1) != '0')?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17671
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

dúvida sobre mysql_num_rows

14-07-2010 17:06

Essa comparação de igual a 1, é quando você quer por exemplo verificar se os dados de um formulário batem com algum cadastro no banco de dados, porque quando for igual a 1, significa que os dados colocado no input correspondem a um registro, ai dentro desse if é criado a esssion e redireciona o usuário para outra página.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado