Avatar billede eazye Nybegynder
17. juli 2003 - 21:21 Der er 15 kommentarer og
1 løsning

Tjekke om MySQL-tabel indeholder noget?

Hepa Hey derude..

Skulle lige have svar på et supa-n00b q, som jeg ikke kunne finde ud af:

Hvordan kan man tjekke om en MySQL-tabel (kaldet "test") indeholder noget data.. og hvis ikke, så skal der skrives en fejl.. eks: "der er ikke noget i tabellen"

på forhånd tak.

- EazyE
Avatar billede erikjacobsen Ekspert
17. juli 2003 - 21:22 #1
Hvad skal der ske hvis der er noget?
Avatar billede eazye Nybegynder
17. juli 2003 - 21:22 #2
så skal den bare sige "der er noget".. eller et eller andet :-)
Avatar billede erikjacobsen Ekspert
17. juli 2003 - 21:23 #3
Den skal ikke vise det der er i tabellen, eller nogat af det?
Avatar billede TRoXa Novice
17. juli 2003 - 21:23 #4
du kan lave ..

if (mysql_num_rows($result) == 0) { echo "der er ikke noget i tabellen"; }

hvor $result = din mysql_query("bla bla");
Avatar billede eazye Nybegynder
17. juli 2003 - 21:24 #5
joeh.. men det kan jeg godt selv finde ud af at få den til.. bare der er vist i jeres svar, hvor der er noget i tabellen, og hvor der ikke er noget.. (hmm.. lyder indviklet) heh
Avatar billede eazye Nybegynder
17. juli 2003 - 21:24 #6
aight.. troxa > det ville jo være en ide..! takker du!
Avatar billede TRoXa Novice
17. juli 2003 - 21:25 #7
så lidt ;)
Avatar billede TRoXa Novice
17. juli 2003 - 21:26 #8
ved ikke hvor meget styr du har på det men

$result = mysql_query("SELECT * FROM TEST order by id");
if (mysql_num_rows($result) == 0) { echo "der er ikke noget i tabellen"; }
Avatar billede arne_v Ekspert
17. juli 2003 - 21:26 #9
SQL mæssigt laver du en:
  SELECT COUNT(*) FROM test
så læser du resultatet fra din applikation (ASP, PHP, C++ eller
whatever) og displayer en passende fejl tekst hvis 0.
Avatar billede erikjacobsen Ekspert
17. juli 2003 - 21:26 #10
Jamen, det er jo et vigtigt spørgsmål jeg stiller. Er du kun interesseret i
et ja/nej, så er dette nok mest effektivt:

$sql="select count(*) from dintabel";
$res=mysql_query($sql) or die(mysql_error());
$row=mysql_fetch_row($res);
$antal=$row[0];
mysql_free_result($res);
if ($antal==0) {
  print "Månen er lavet af blå ost";
} else {
  print "Der er gratis øl i Århuus";
}
Avatar billede arne_v Ekspert
17. juli 2003 - 21:29 #11
[jeg er ikke helt klar over hvorfor alle antager PHP men ...]

Det kan være meget bedre at bruge COUNT(*) end * af performance hensyn
(afhænger af MySQL implementeringen).
Avatar billede eazye Nybegynder
17. juli 2003 - 21:30 #12
jo jo troxa.. jeg har styr på det der andet noget.. så pts'ne er dine.. sorry jer andre.. men tak anyway
Avatar billede TRoXa Novice
17. juli 2003 - 21:31 #13
Gir du øl Erik ? :D

Arne : Uhmm .. jeg havde glemt at jeg havde meldt mig til at få mysql spørgsmål, så tog det egentlig bare som en selvfølge at det var php hehe :) da det er php jeg leger mest med :)
Men det sker så ikke så tit, at folk bruger fx mysql til asp .. så derfor .. PHP :)
Avatar billede erikjacobsen Ekspert
17. juli 2003 - 21:32 #14
Jeg bor ikke i Århuus. Tag PHP som et bagved liggende Esperanto, der gør
det nemmere at sige hvad man mener. Vi kunne også gå over til Ruby.
Avatar billede TRoXa Novice
17. juli 2003 - 21:34 #15
ja okay :) øv og tak eazye :)
Avatar billede eazye Nybegynder
17. juli 2003 - 21:35 #16
np..
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
Computerworld tilbyder specialiserede kurser i database-management

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