<?php
$query = mysql_query("
SELECT
COUNT(`users`.`id`) as `users`,
COUNT(`reacties`.`id`) as `reacties`,
COUNT(`posts`.`id`) as `posts`,
COUNT(`mappen`.`id`) as `mappen`
FROM
`users`,
`reacties`,
`posts`,
`mappen`");
?>
@ultimatum: Als je geen or die achter de query zet, of er een @ voor zet. Dan wordt de error altijd weergeven. Behalve als je php geen errors laat weergeven.
<?php
$query = mysql_query("
SELECT
COUNT(users.id) as users,
COUNT(reacties.id) as reacties,
COUNT(posts.id) as posts,
COUNT(mappen.id) as mappen
FROM
users,
reacties,
posts,
mappen");
?>
Je zal de COUNT() voor elke tabel in een aparte query moeten uitvoeren.
Wanneer je gebruik maakt van MyISAM dan is het nog wel eens handig om gebruik te maken van SHOW TABLE STATUS. Met InnoDB is dat echter niet mogelijk omdat:
Citaat:
Some storage engines, such as MyISAM, store the exact count. For other storage engines, such as InnoDB, this value is an approximation, and may vary from the actual value by as much as 40 to 50%. In such cases, use SELECT COUNT(*) to obtain an accurate count.
@ultimatum: Als je geen or die achter de query zet, of er een @ voor zet. Dan wordt de error altijd weergeven. Behalve als je php geen errors laat weergeven.
Als je achter een query geen or die zet dan krijg je geen/minder errors te zien..
Ik wil me toch ook nog even inmengen in het hele @ gebeuren. Het is nooit aangeraden om errors te onderdrukken. Probeer zoveel mogelijk met errorlevel E_ALL te werken (E_STRICT als je het aankunt) en wanneer je een website LIVE zet (online dus), dan zet je de error_reporting uit (0).
Nu klinkt dat misschien gek omdat je dan dus niet 'precies ziet wat er mis is, als er iets mis is', maar dat heeft allemaal met beveiliging te maken. Wanneer jij niets toont wat er mis is gegaan met een bepaalde handeling kan iemand daar ook minder snel misbruik van maken omdat hij dus niet precies weet in welk deel van de code het mis is gegaan.
Probeer dus zonder @ te werken en werk netjes en veilig.