Avatar billede bigtime Nybegynder
02. maj 2010 - 20:47 Der er 6 kommentarer og
1 løsning

en fejl jeg ikke helt forstå

hvad laver jeg lige forkert her for den kommer med fejl, forstå ikke helt den fejl
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /public_html/activate.php on line 12
du kan nu logge ind på.

her er koden
<?PHP
include("db.php");

$code = $_GET['code'];

if (!$code)
    echo " sorry men der er ikke sådan kode i databasen";
 
  else
  {
          $check = mysql_query("SELECT * FROM brugere WHERE code='$code' AND active='1'");
          if (mysql_num_rows($check)==1)
              echo "Din konto er allerede aktiv";
          else
          {
          $register = mysql_query("UPDATE brugere SET active='1' WHERE code='$code'");
          echo " du kan nu logge ind på ";
          }
         
}
?>
Avatar billede inctor Nybegynder
02. maj 2010 - 21:17 #1
<?php
include "db.php";

$code = $_GET["code"];

if (!$code)
{
    echo " sorry men der er ikke sådan kode i databasen";
}else
  {
          $check = mysql_query("SELECT * FROM `brugere` WHERE `code`='$code' AND `active`='1'")or die(mysql_error());
          $num = mysql_num_rows($check);
         
          if ($num > 0)
          {
              echo "Din konto er allerede aktiv";
          }else
          {
          mysql_query("UPDATE `brugere` SET `active`='1' WHERE `code`='$code'")or die(mysql_error());
          echo " du kan nu logge ind på ";
          }
       
}
?>

Prøv lige den kode der..
Men det er højst sandsynligt pga. du har brugt et reserveret ord, eller stavet et kolonne navn forkert :)
Avatar billede bigtime Nybegynder
02. maj 2010 - 21:20 #2
nu skre den det her Unknown column 'active' in 'where clause'
Avatar billede inctor Nybegynder
02. maj 2010 - 21:21 #3
Så er det fordi at du ikke har en kolonne i din database, som hedder "active" :)
Avatar billede bigtime Nybegynder
02. maj 2010 - 21:24 #4
fandt min stavefejl tak
kom med et svar
Avatar billede jakobdo Ekspert
02. maj 2010 - 21:28 #5
Og med lidt ekstra tjek af $_GET['code']

<?PHP
include("db.php");

if(preg_match('/^\d{8}$/i', $_GET['code'])){
    $check = mysql_query("SELECT * FROM brugere WHERE code='".$_GET['code']."' AND active='1' LIMIT 1") or die(mysql_error());
    if(mysql_num_rows($check)==1){
        echo "Din konto er allerede aktiv";
    }else{
        $register = mysql_query("UPDATE brugere SET active='1' WHERE code='$code' LIMIT 1") or die(mysql_error());
        echo " du kan nu logge ind på ";
    }
}else{
    echo "Forkert 'code' angivet!";
}
?>
Avatar billede inctor Nybegynder
03. maj 2010 - 14:59 #6
Jeg lagde et svar længere oppe :)
Avatar billede bigtime Nybegynder
04. maj 2010 - 20:17 #7
jakobdo kom også med et svar syntes også du skal have en lille smugle for det der :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester