[php] count rows

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • twisted2000
  • Registratie: Januari 2004
  • Laatst online: 05-03-2021
hallo,

wordt hier helemaal gek, weet namelijk echt niet hoe ik dit moet oplossen omdat het volgens mij dus gewoon klopt |:(


Ik wil het aantal rijen uit een database tellen:
Heb dit als volgt gedaan:

code:
1
2
3
4
$pagID2 = $_REQUEST["id"];
        
    $query = mysql_query('SELECT id FROM artikel WHERE id = $pagID2 ORDER BY ID');
    $aantal = mysql_num_rows($query);


ik krijg alleen de volgende foutmelding:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\saveurs\index3.php on line 204


terwijl als ik in de sql query $pagID2 vervang door 1 doet hij het prima....en er zit ook een id in de url dus dat kan het ook niet zijn....

weet iemand misschien n oplossing?

Alvast bedankt

Grtsss

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dubbele quotes gebruiken in je query, of je variabele concatenaten:
PHP:
1
$query = mysql_query("SELECT id FROM artikel WHERE id = $pagID2 ORDER BY ID");

of
PHP:
1
$query = mysql_query('SELECT id FROM artikel WHERE id = '.$pagID2.' ORDER BY ID');

Variabelen worden tussen enkele quotes namelijk niet geparsed.

Als je gewoon je query een keer had ge-echod, dan was je hier ook zelf wel achter gekomen... :/ Misschien moet je de FAQ over debuggen even lezen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • twisted2000
  • Registratie: Januari 2004
  • Laatst online: 05-03-2021
harstikke bedankt!!

en moet idd eens wat meer basics gaan leren over php

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

twisted2000 schreef op 26 september 2004 @ 23:50:
harstikke bedankt!!

en moet idd eens wat meer basics gaan leren over php
Wat hier fout ging is niet zozeer de basics van PHP als taal, maar het gebrek aan kennis over hoe je moet debuggen. Vandaar dat ik verwijs naar de FAQ over debuggen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Nog afgezien van dat dit echt te basic is en je dit zelf had moeten kunnen fixen: waarom gebruik je in GoTsnaam geen 'select count(*) from table' :?

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

curry684 schreef op 27 september 2004 @ 00:27:
Nog afgezien van dat dit echt te basic is en je dit zelf had moeten kunnen fixen: waarom gebruik je in GoTsnaam geen 'select count(*) from table' :?
Ik neem aan dat ie verder ook nog wat met de opgehaalde data wil doen. Zo niet, dan zou een select count() wel een heel stuk handiger zijn ja. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • nIghtorius
  • Registratie: Juli 2002
  • Laatst online: 12-09 16:49

nIghtorius

Poef!

curry684 schreef op 27 september 2004 @ 00:27:
Nog afgezien van dat dit echt te basic is en je dit zelf had moeten kunnen fixen: waarom gebruik je in GoTsnaam geen 'select count(*) from table' :?
dit is wel een leuk moment om een discussie omhoog te brengen..

je hebt b.v. een tabel:

IDnamepassusername
1PeterblaatnIghtorius
2Peter2blaat2nIghtarius
3Peter3blaat3nIghturius


is het gebruik van SELECT COUNT(ID) FROM table nu efficiënter dan
het gebruik van SELECT COUNT(*) FROM table????

ben eigenlijk wel errug nieuwsgierig en over de meningen van andere personen..

Ryzen 9 5900X @ 5.1Ghz | MPG B550 GAMING CARBON | 96GB DDR4-3200 | RTX 4070TI | 2TB + 1TB m.2 SSD | 3x 1TB HDD | 1x 2TB SATA SSD | 32" G3223Q (4K/144Hz)


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Bij SQL Server en andere RDBMS'en met een goede query optimizer niet, die detecteren dat je inhoudelijk geen data gebruikt :)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

Verwijderd

Ok, ik wil hier graag even op in haken, zie ff onderstaand voorbeeld:
code:
1
2
3
4
5
6
7
function get_newLinks()
    { 
     $link = $this->LNK_TBL;
        $sql = "SELECT Url,LinkName FROM $link WHERE  (Approved != 0) ORDER BY SubmitDate DESC";
        $results = $this->select($sql);
        return $results;
    }


Dit staat in een bestand mysql.php die wordt aangeroepen vanuit news.php. Het doel is om de laatste 3 toevoegingen aan de database vanuit news.php weer te geven. Ik moet dus de rijen (n) tellen in de database en dan n, n-1 en n-2 doorgeven naar news.php. Maar het lukt mij niet :( Ik krijg nu met bovenstaande code een array met alle rijen uit de database doorgegeven.

/me is een beginner met PHP

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Daar hebben we LIMIT voor.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

Verwijderd

@OKkE : Afbeeldingslocatie: http://www.muller-godschalk.com/images/msn60/smile045.gif

Ik ben hier dus de hele afgelopen vrijdag mee bezig geweest plus nog wat avonden. En dan kom jij binnen 10 minuten met de perfecte oplossing.

Bedankt!

Acties:
  • 0 Henk 'm!

  • Prutser_IA
  • Registratie: Januari 2000
  • Laatst online: 03-06-2021

Prutser_IA

<*{{{><

Verwijderd schreef op 27 september 2004 @ 14:14:
@OKkE : [afbeelding]

Ik ben hier dus de hele afgelopen vrijdag mee bezig geweest plus nog wat avonden. En dan kom jij binnen 10 minuten met de perfecte oplossing.

Bedankt!
Een limiet omgeven aan een query is redelijk standaard (al doet niet elke dbms het op dezelfde manier). Wellicht is het handig om een (my)SQL tutorial te lezen? Je geeft zelf aan dat je namelijk al erg lang aan 't zoeken bent naar iets redelijk basic

mySQL
w3schools

42


Acties:
  • 0 Henk 'm!

Verwijderd

nIghtorius schreef op 27 september 2004 @ 00:54:
[...]
is het gebruik van SELECT COUNT(ID) FROM table nu efficiënter dan
het gebruik van SELECT COUNT(*) FROM table????

ben eigenlijk wel errug nieuwsgierig en over de meningen van andere personen..
Het hangt er vanaf wat je wilt, want het is niet hetzelfde. count(*) telt ook de rijen met null values. Dus, waar in jouw voorbeeld geen ID is ingevuld. Het lijkt me dat een ID primairy key is en dus NOT NULL is, dus dan maakt het volgens mij niet uit..

edit: misschien dat count(*) nog wel sneller is, omdat het dbms misschien ergens bijhoudt hoeveel rijen er zijn. Maar dat weet ik niet zeker. Bij count (iets) moet hij sowieso heel de tabel doorlopen.

[ Voor 15% gewijzigd door Verwijderd op 27-09-2004 15:20 ]


Acties:
  • 0 Henk 'm!

Verwijderd

nIghtorius schreef op 27 september 2004 @ 00:54:
[...]


dit is wel een leuk moment om een discussie omhoog te brengen..

je hebt b.v. een tabel:

IDnamepassusername
1PeterblaatnIghtorius
2Peter2blaat2nIghtarius
3Peter3blaat3nIghturius


is het gebruik van SELECT COUNT(ID) FROM table nu efficiënter dan
het gebruik van SELECT COUNT(*) FROM table????

ben eigenlijk wel errug nieuwsgierig en over de meningen van andere personen..
Het is iig beter qua stijl. En er is minder kans op side-effects zoals in de post boven mij.

Acties:
  • 0 Henk 'm!

Verwijderd

Het hangt ook af van wat je wil bereiken Wil je de namen van gebruikers die hun adres ingevuld hebben moet je count(adres) oid gebruiken, als je het aantal gebruikers wil tellen is het beter van count(id) te gebruiken.
Het is in ieder geval beter dat je een bepaald veld 'count' denk ik persoonlijk.
Pagina: 1