Top
Phpuniverset logo
 

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql Tjek i DB om der findes lign.

Tjek i DB om der findes lign.


 

Tjek i DB om der findes lign.

Dennis Munk Christensen  

Jeg kunne godt tænke mig at når brugere prøver at oprette en profil, at der bliver tjekket
om der allerede findes det brugernavn som de ønsker...



Dato : 11.04.2006, 20:09

Visninger : 1885

Points : 20

 

$query = "select * from bruger where username='$username' and password='$password'";
$result2=mysql_fetch_array($result);
 if($result2)
    {         
echo '<span> din bruger er nu opretede';

}
    else
    { 
 print "fejl brugeren findes allerede";

  


Dato : 12.04.2006, 14:32

Kommentar af : david  

 

$que = mysql_query("select * from brugere where navn='$_POST[navn]'");
$antal = mysql_num_rows("$que");

if($antal > 0){
echo "Brugeren findes allerede";
} else {
\\resten af dit script
}


Dato : 12.04.2006, 18:02

Kommentar af : Dj mini bæver  

 

Hmmm ved brug af Dj mini bævers forslag skriver den flg.:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource 



Dato : 17.04.2006, 16:11

skrevet af : Gæst  

 

Mig der lige var gæst... glemte at logge på (:

Dato : 17.04.2006, 16:13

Kommentar af : Dennis Munk Christensen  

 

Problemet er løst... havde glemt to '' i mit query... 

Dato : 17.04.2006, 16:39

Kommentar af : Dennis Munk Christensen  

 

Tak for hjælpen DJ mini bæver... (:

Dato : 17.04.2006, 16:39

Godkendt svar af : Dennis Munk Christensen  

 

DJ´s script vist her nedenunder indeholder 2 performance fejl.
<?
$que 
mysql_query("select * from brugere where navn='$_POST[navn]'");
$antal mysql_num_rows("$que");

if(
$antal 0){
echo 
"Brugeren findes allerede";
} else {
\\
resten af dit script

?>
Fejl 1:
I stedet for at bruge * skal man så vidt mulig altid skrive de felter man ønsker at hente
ned, i dette eksempel skal man faktisk ikke hente nogen felter ned derfor er det forkert
at bruge *. (Løsningen kommer i fejl 2)

Fejl 2.
I stedet for at bruge mysql_num_rows er det langt bedre at bruge sql til at finde ud af om
der findes andre brugere. I sql kan du bruge count(). Dette er også løsningen til fejl 1,
se koden herunder der ville være den bedste.

<?
$que 
mysql_query("select count(id) as antal from brugere where navn='$_POST[navn]'");
//id er en kolonne i tabellen, det er altid bedst at bruge den kolonne man har valgt som
primary
$rs 
mysql_fetch_assoc($que);

if(
$rs["antal"] > 0){
echo 
"Brugeren findes allerede";
} else {
\\
resten af dit script

?>
Den afgørende forskel mellem mit script og DJ´s er at mit ikke henter nogen felter ned fra
databasen, mens DJ´s henter alle felter ned der i tabellen, for så derefter at tælle antal
rækker.

Det svarer lidt til at man rejser til usa for at tælle alle amerikanerer, men i stedet for
at tælle dem i usa, tager man alle amerikanerne sammen med alle deres egendele med hjem
til Danmark for så først at tælle dem i Danmark.





Dato : 17.04.2006, 20:31

skrevet af : Gæst  

 

Efter lige at have tænkt lidt nærmere, vil det aldrig betyde den store forskel om man
bruger mysql_num_rows() eller om man bruger sql funktionen count i dette eksempel. Da det
samlede antal rækker der bliver hentet ned da ingen kan hedde det samme.


Dato : 17.04.2006, 20:35

skrevet af : Gæst  

 

Hmmm... dj bæver har skrevet indlægget som kommentar så kan desværre ikke give ham
pointene medmindre han lige vil poste et svar ;)


Dato : 17.04.2006, 23:23

Kommentar af : Dennis Munk Christensen  




Login for at skrive et indlæg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund