Bug #13799 Updated: PHP selects rows correctly but adds them up wrong

From: Date: Tue, 23 Oct 2001 20:17:35 +0000
Subject: Bug #13799 Updated: PHP selects rows correctly but adds them up wrong
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-68876@lists.php.net to get a copy of this message
ID: 13799 Updated by: jeroen Reported By: j.ball@rgu.ac.uk Old Status: Open Status: Bogus Bug Type: MySQL related Operating System: Windows 98 PHP Version: 4.0.6 New Comment: Not a bug in PHP. Mysql handles distinct count(*) wrong, iirc it's noted on their website. PHPmyAdmin could work around this, but that's not the business of PHP. You could drop a line over there. no bug in php -> bogus Previous Comments: ------------------------------------------------------------------------ [2001-10-23 09:51:55] j.ball@rgu.ac.uk I am accessing my database through phpMyAdmin-2.2.0 and not through my own script - so I know it is not any fault of my scripting abilities! I obtained my copy of the script from SourceForge (http://sourceforge.net/projects/phpmyadmin/) On reflection, you guys might not have written this so perhaps I should report the bug to SourceForge... if this is the case then please accept my apologies and I will report the bug to SourceForge. Regards Jonathan ------------------------------------------------------------------------ [2001-10-23 09:02:45] sander@php.net Probably not a bug in PHP, but in your script. Can you provide a sample script? ------------------------------------------------------------------------ [2001-10-23 08:46:49] j.ball@rgu.ac.uk Using MySQL through the Apache server with a reproduction of the Northwind database (as supplied by MicroSoft). The command: SELECT DISTINCT Customers.* FROM Customers, Orders WHERE Customers.CustomerID = Orders.CustomerID; This works OK when executed by MySQL in DOS (returning 20 records in my version of the Northwind Database). In PHP the command also returns 20 records but PHP incorrectly reports "Showing records 0-30 (387)" at the top of the page. If I leave out the 'DISTINCT' command I get the full 387 records with a correct report "Showing records 0-30 (387)". I amend the query as follows: SELECT DISTINCT Customers.* FROM Customers, Orders WHERE Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerID; PHP now shows the same 20 records and declares "Showing records 0-20 (20)" this time correctly. ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=13799&edit=1

« previous php.dev (#68876) next »