Jump to content


Photo

Mysql + Php


  • Faça o login para participar
10 replies to this topic

#1 Dough

Dough

    Novato no fórum

  • Usuários
  • 21 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro

Posted 23/05/2011, 16:07

$check = mysql_query("SELECT * FROM `accounts` WHERE username='". strtolower($username) . "'");
		if (mysql_num_rows($check) == 1){
			$erros = 1;
			if ($lang == "pt")
			{
				$errmsg .= "A Conta selecionada já existe!<br>";
			} else {
				$errmsg .= "The Selected Account already exists!<br>";
			}
		}

Ele retorna: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/doug/public_html/index.php on line 133

a estrutura desta tabela:
CREATE TABLE IF NOT EXISTS `accounts`
(
	`username`   VARCHAR(16) NOT NULL,
	`password`   CHAR(64)    NOT NULL,
	`fullname`   VARCHAR(64) NOT NULL,
	`location`   VARCHAR(64) NOT NULL,
	`email`      VARCHAR(64) NOT NULL,
	`computer`   VARCHAR(64) NOT NULL,
	`hdid`       INTEGER     NOT NULL,
	`regip`      VARCHAR(15) NOT NULL,
	`lastip`     VARCHAR(15)          DEFAULT NULL,
	`created`    INTEGER     NOT NULL,
	`lastused`   INTEGER              DEFAULT NULL,

	PRIMARY KEY (`username`)
);

Posted Image Meu post lhe ajudou? Retribuir é uma das formas de agradecer. Não mata ninguém! Só clicar no botão...

#2 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 23/05/2011, 16:47

ola tenta fazer estas modificações

neste primiero aqui eu fiz `accounts` para accounts
$check = mysql_query("SELECT * FROM accounts WHERE username='". strtolower($username) . "'");
                if (mysql_num_rows($check) == 1){
                        $erros = 1;
                        if ($lang == "pt")
                        {
                                $errmsg .= "A Conta selecionada já existe!<br>";
                        } else {
                                $errmsg .= "The Selected Account already exists!<br>";
                        }
                }

ou assim
e esta parte aqui vc coloca na parte onde vc cria esta variavel tipo
$username = strtolower($_POST['username']);
Eu acho que funciona

$check = mysql_query("SELECT * FROM accounts WHERE username='$username');
                if (mysql_num_rows($check) == 1){
                        $erros = 1;
                        if ($lang == "pt")
                        {
                                $errmsg .= "A Conta selecionada já existe!<br>";
                        } else {
                                $errmsg .= "The Selected Account already exists!<br>";
                        }
                }

Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#3 Dough

Dough

    Novato no fórum

  • Usuários
  • 21 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro

Posted 23/05/2011, 17:06

nenhum desses funcionou, coloquei o arquivo do jeito que disse, e a variável também... o erro continuou o mesmo. :(
Posted Image Meu post lhe ajudou? Retribuir é uma das formas de agradecer. Não mata ninguém! Só clicar no botão...

#4 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 23/05/2011, 17:12

qual destas, linhas é a 133
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#5 Dough

Dough

    Novato no fórum

  • Usuários
  • 21 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro

Posted 23/05/2011, 17:16

if (mysql_num_rows($check) == 1){
Posted Image Meu post lhe ajudou? Retribuir é uma das formas de agradecer. Não mata ninguém! Só clicar no botão...

#6 Leocarpo

Leocarpo

    12 Horas

  • Usuários
  • 160 posts
  • Sexo:Masculino
  • Localidade:Angola - Luanda
  • Interesses:Programação,
    Padrões web.
    Negócios.

Posted 23/05/2011, 17:19

Pelo visto você recebe os dados de uma outra página.

Então tente o seguinte:

$username=strtolower($_POST["nome_enviado"]);

$sql=mysql_query("select * from accounts where username='$username'");

if($ler=mysql_num_rows($sql)<=1)
{
echo "Esse usuario já existe";

}

else
{
echo "Usuario cadastrado com sucesso";

}

Ou dessa forma na tua linha 133
if (mysql_num_rows($check) <= 1)

Edição feita por: Leocarpo, 23/05/2011, 17:24.

O mundo é feito de teórias, as com maior
impacto é que são válidas,e aplicadas nas nossas vidas.
9033 lab

#7 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 23/05/2011, 17:23

pelo que ja vi vc ta tentando fazer um script de INGLES E PORTUGUES vc pode usar uma componente chamado I18N
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#8 Dough

Dough

    Novato no fórum

  • Usuários
  • 21 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro

Posted 23/05/2011, 17:27

Pelo visto você recebe os dados de uma outra página.

Então tente o seguinte:

$username=strtolower($_POST["nome_enviado"]);

$sql=mysql_query("select * from accounts where username='$username'");

if($sql=mysql_num_rows<=1)
{
echo "Esse usuario já existe";

}

else
{
echo "Usuario cadastrado com sucesso";

}

eu recebo dados da mesma página, que fica, digamos:
<?php
$act == $_POST["act"];
if ($act == "reg"){

// O Comando do Registro
} else {
?>
<form action="index.php" method="post">
<input type="hidden" name="act" value="reg">
</form>
<?php
}
?>

entendeu ^^ ?

Pelo visto você recebe os dados de uma outra página.

Então tente o seguinte:

$username=strtolower($_POST["nome_enviado"]);

$sql=mysql_query("select * from accounts where username='$username'");

if($ler=mysql_num_rows($sql)<=1)
{
echo "Esse usuario já existe";

}

else
{
echo "Usuario cadastrado com sucesso";

}

Ou dessa forma na tua linha 133
if (mysql_num_rows($check) <= 1)

mesmo assim, obrigado, seu código funcionou perfeitamente!
Posted Image Meu post lhe ajudou? Retribuir é uma das formas de agradecer. Não mata ninguém! Só clicar no botão...

#9 Leocarpo

Leocarpo

    12 Horas

  • Usuários
  • 160 posts
  • Sexo:Masculino
  • Localidade:Angola - Luanda
  • Interesses:Programação,
    Padrões web.
    Negócios.

Posted 23/05/2011, 17:29

Que bom que lhe ajudei.
Que tal retribuir com um ponto ? (risos)

Edição feita por: Leocarpo, 23/05/2011, 17:30.

O mundo é feito de teórias, as com maior
impacto é que são válidas,e aplicadas nas nossas vidas.
9033 lab

#10 Dough

Dough

    Novato no fórum

  • Usuários
  • 21 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro

Posted 23/05/2011, 17:30

opa, o erro sumiu, mas ele fica dizendo toda hora que a conta já existe
Posted Image Meu post lhe ajudou? Retribuir é uma das formas de agradecer. Não mata ninguém! Só clicar no botão...

#11 Leocarpo

Leocarpo

    12 Horas

  • Usuários
  • 160 posts
  • Sexo:Masculino
  • Localidade:Angola - Luanda
  • Interesses:Programação,
    Padrões web.
    Negócios.

Posted 24/05/2011, 10:40

Hum.

Ta bom tenta trocar.

Assim:
if(mysql_num_rows($sql)=='1')

Se mesmo assim não der certo tenta assim

if(mysql_num_rows($sql)>='1')

Caso contrario cole tod código aqui para ser analisado.
O mundo é feito de teórias, as com maior
impacto é que são válidas,e aplicadas nas nossas vidas.
9033 lab




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq