Avatar billede rasmus_a Nybegynder
03. december 2004 - 16:32 Der er 20 kommentarer og
1 løsning

Hente antal ROWS fra tabel

Hej
Jeg har en php fil som ser ud som følgende:

<?php
require('indstillinger.php');

echo "antal brugere:";


?>



Under echo brugere vil jeg så gerne have en udskrift af hvor mange ROWS tabellen "brugere" indeholder i min MySQL database. Men hvordan gør man det?

noget med
SELECT brugere *
?

Tak



indstillinger.php:
----------------
<?php

/* Kodet af  : Villy Thomsen (villyft@webcafe.dk) */


function aabn_forbindelse_og_vaelgdb() {
  $server = "localhost";
  $bruger = "";
  $kodeord = "";
  $database = "";

  if (!mysql_connect("$server","$bruger","$kodeord")) {
    udskriv_fejl("database error");
  }

  if(!mysql_select_db("$database")) {
    udskriv_fejl("database error: $database");
  }
}

function sql_spoerg_og_faa_svar($query) {
  $resultat = mysql_query($query);

  if(!$resultat) {
    udskriv_fejl("error: <em>$query</em>");
  }

  while($raekke = mysql_fetch_array($resultat)) {
    $resultat_array[] = $raekke;
  }

  return $resultat_array;
}

function sql_spoerg($query) {
  $resultat = mysql_query($query);

  if(!$resultat) {
    udskriv_fejl("error: <em>$query</em>");
  }
}

function luk_forbindelse() {
  if(!mysql_close()) {
    udskriv_fejl("database error,");
  }
}

function udskriv_fejl($fejl) {
  echo "<p>$fejl";

  if ($mysql_fejl = mysql_error()) {
    echo "<br>error: <em>$mysql_fejl</em>";
  }

  exit;
}
?>
Avatar billede arne_v Ekspert
03. december 2004 - 16:36 #1
Kan du ikke bare lave en:

SELECT COUNT(*) FROM brugere

?
Avatar billede rasmus_a Nybegynder
03. december 2004 - 16:41 #2
hmm måske gør jeg noget forkert. Hvad skal der præcis stå i PHP filen?

under require();..
Avatar billede detox Nybegynder
04. december 2004 - 01:52 #3
Først og fremmest skal du indsætte dine værdier her (altså brugernavn, kodeord og databse):

function aabn_forbindelse_og_vaelgdb() {
  $server = "localhost";
  $bruger = "";
  $kodeord = "";
  $database = "";

Så kan du indsætte:

echo "antal brugere: ";
aabn_forbindelse_og_vaelgdb();
$res = sql_spoerg_og_faa_svar("SELECT COUNT(*) FROM brugere
");
echo $res[0];
Avatar billede rasmus_a Nybegynder
04. december 2004 - 12:34 #4
Yes mine værdier er indtastet - jeg slettede dem bare herinde, du ved.

gå denne meddelelse:

Fatal error: Call to undefined function: aabn_forbindelse_og_vaelgdb() in /var/www/html/web/test.php on line 61
?
Avatar billede detox Nybegynder
04. december 2004 - 13:02 #5
Lyder pudsigt, har du: require('indstillinger.php'); med?
Avatar billede detox Nybegynder
04. december 2004 - 13:13 #6
For det er trods alt den første funktion i 'indstillinger.php'.
Avatar billede rasmus_a Nybegynder
04. december 2004 - 14:34 #7
ja det har jeg. mystisk..
Avatar billede rasmus_a Nybegynder
04. december 2004 - 14:46 #8
hmm, hvis jeg fjerner
"aabn_forbindelse_og_vaelgdb();"
så skriver den bare:
Fatal error: Call to undefined function: sql_spoerg_og_faa_svar() in /var/www/html/web/about.php on line 61

så den kan ikke finde nogen af de functions.. men jeg får ikke fejl på adressen i require. den er også rigtig.
Avatar billede detox Nybegynder
04. december 2004 - 15:03 #9
Hvis den ikke kunne finde filen ville require() osse stoppe scriptet, så det har jeg ikke nogen ide om, hvad der går galt her.
Avatar billede rasmus_a Nybegynder
04. december 2004 - 16:36 #10
heller ikke her.. hmm. er der nogle der har et bud?
iøvrigt detox, er der fordi der står "localhost" andre ikke bare kan require() den samme fil og så bruge min databse? altså dabatbasen virker kun fra  dén ene server (localhost).?
Avatar billede detox Nybegynder
05. december 2004 - 16:42 #11
Hvis MySQL er sat op til kun at modtage forbindelse fra localhost, så ja. Ellers må du angive et domæne eller ip-adresse.
Avatar billede rasmus_a Nybegynder
05. december 2004 - 17:56 #12
ok :) stadigvæk ikke noget bud på hvorfor jeg får den fejl?
Avatar billede detox Nybegynder
05. december 2004 - 18:14 #13
Nej, ikke rigtigt. Er du sikker på det er den rigtige fil du henter med require? Altså at stien er rigtig og sådan.
Avatar billede rasmus_a Nybegynder
05. december 2004 - 18:20 #14
ja, får jo heller ingen fejl.. hmm jeg kigger lidt mere på det =)
Avatar billede tjaz Nybegynder
05. december 2004 - 18:24 #15
undskyld men hedder det ikke
SELECT COUNT(*) AS antal FROM brugere
Avatar billede hmortensen Nybegynder
06. december 2004 - 01:14 #16
tjaz, forskellen på SELECT COUNT(*) FROM tabel og SELECT COUNT(*) AS antal FROM tabel er at den sidste gir kollonen en udskriftsvenlig kolloneoverskift.

Der er altså ingen resultats-forskel.
Avatar billede detox Nybegynder
06. december 2004 - 01:19 #17
Der kunne evt. være flere 'indstillinger.php' i forskellige mapper og du hentede en forkert. Tjek evt. include_path.
Avatar billede rasmus_a Nybegynder
06. december 2004 - 17:44 #18
mærkeligt - der er ingen fejl.. lukker her.
mange tak for forsøget, detox.
har du en mail adr?
Avatar billede rasmus_a Nybegynder
06. december 2004 - 17:45 #19
vil du evt sende den til mig på r_amby@hotmail.com? jeg skal nok skrive hvorfor etc. men det er næmere over mail.
Avatar billede hmortensen Nybegynder
06. december 2004 - 17:47 #20
"mærkeligt - der er ingen fejl.."

uønsket resultat = fejl :)
Avatar billede rasmus_a Nybegynder
06. december 2004 - 17:49 #21
ja, det har du 100% ret i.. kan bare ikke finde den! grr - starter forfra. =)
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