Top
Phpuniverset logo
 
930 banner

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

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 : 1899

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

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

Bund