phpMyAdmin returns nothing when running a query

Just a test with simple SELECT query like this: SELECT * FROM place_changes WHERE user_id > 30000

Running with PHP, I can get result as expected.
Using phpMyAdmin and running query directly in phpMyAdmin, the screen shows loading, then stops on the same screen. Nothing returns. No error either.

The tables have 1M+ records. Even though each record is quite small. The sizes of tables only a few hundred MB. InnoDB engine on MariaDB 10.4 (it’s old version, but keeping to use that because of the code), on fast SSD (60K+ IOPS)

Any idea why?
Thank you.

Problems like this are usually caused by datatype issues, such as storing numbers using a string datatype.

Your php code may match something if it is causing the comparison to operate on strings, whereas the query you posted above is comparing values as numbers.

Post your table definition and the php code/query that appears to work, and at least one user_id value that the php code/query matches.

So each record is a few hundred bytes :stuck_out_tongue: Not really ‘quite small’, but regardless.

Have you made sure that the phpmyadmin instance has been set up properly? Does the user it is using have permissions to select from the table in question?

1 Like

Thanks for replying.

About the table definition, no, there is no string type there, only international(11) and varchar(32). And yes, user has full permissions. I also tested with root.

No problem when browsing in the first 10K-ish pages (with default 25 rows per page in phpMyAdmin). When browsing more, 20K, 30K-ish page, then I got the same error with this

I tried to copy the fix in Results.php, but no help. Not sure if I need to download only Results.php file, or need other libs.

I assume here you mean INTeger. There’s no such thing as an “INTERNATIONAL” data type that i’ve ever heard of.

Anyway.

If you got the error they referenced there, there should be an error in the PHP error logs, because what they referenced there is PHP 8 ignoring the @ (suppress errors) flag on a function somewhere, which would mean that there was an error generated.

What version of PMA are you using?

Auto-correct :smiley: I should read my answer again before posting.
There is no error in PHP or Openlitespeed log, however. I am using 5.2.1, the latest stable version.

Limit the Number of Rows : Instead of retrieving all rows, limit the number of rows using the LIMIT clause, e.g., SELECT * FROM place_changes WHERE user_id > 30000 LIMIT 100 . This way, you can see a subset of the results without overwhelming phpMyAdmin.

With LIMIT, the same situation. Nothing returns, with no error.

do you need to use phpmyadmin?

consider heidiSQL

2 Likes

Right, nearly everything is better then phpMyAdmin

Is there a better web based client? Not all hosts allow direct connections to their database servers…