Avatar billede doomstone-dk- Nybegynder
27. december 2004 - 03:26 Der er 6 kommentarer og
1 løsning

Sql kode

Hvordan kan jeg lave en sql kode som kun tilføjer en ny kolonde i en tabel hvis der ikke findes en anden kolonde i den tabel hvor 'user_name' er $username ?
Avatar billede doomstone-dk- Nybegynder
27. december 2004 - 03:27 #1
Og hvis der allerede findes en vil jeg gerne have at den returnere True eller False! er det muligt?
Avatar billede morteeart Nybegynder
27. december 2004 - 04:28 #2
Du kan bruge uniq som felttype, men dette er ikke smart da det bare vil retunerer en sql error.

Dette her er bedre:
<?
$username = "bob";
$checkq = mysql_query("SELECT username FROM brugere WHERE username='$username' ");
if(mysql_num_rows($checkq) != 0)
{
echo "Det valgte brugernavn findes i forvejen.
}
else
{
mysql_query("INSERT INTO brugere(username) VALUES ('$username') ");
}
?>
Avatar billede morteeart Nybegynder
27. december 2004 - 04:38 #3
eller som funktion

<?
function check_brugernavn($username)
{
include('config.php'); // database connect
$checkq = mysql_query("SELECT username FROM brugere WHERE username='$username' ");
if(mysql_num_rows($checkq) != 0)
{
  return: false;
}
else
{
  return: true;
}
}
?>
Avatar billede arne_v Ekspert
27. december 2004 - 15:35 #4
Jeg vil umiddelbart mene at det netop er smartere at sætte et unique index
på feltet og så lave en insert og catche en eventuel exception.

SELECT først og så INSERT kan give problemer hvis der er flere samtidige
brugere.
Avatar billede doomstone-dk- Nybegynder
27. december 2004 - 15:45 #5
Ja den måde havede jeg også tængt mig! men problmet er at jeg nok har omkring 100 000 bruger i mit system! og at min mysql database nok vil gå ned hvis jeg gør det å¨den måde?
Avatar billede arne_v Ekspert
27. december 2004 - 15:48 #6
Et unikt index på feltet vil kun påvirke performance marginalt.

SELECT + INSERT vil tage tid hvis der ikke er index på feltet, men er der index
på feltet så vil det heller ikke være noget problem.
Avatar billede doomstone-dk- Nybegynder
02. marts 2005 - 22:20 #7
lukker
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