Using mysql_grep.php to grep tables
I’ve created a new piece of code that allows people to grep through their database tables and fields. I regularily work on databases with more than 50 tables in the database. Each table has anywhere from two to twenty fields in them. To make things even more of a pain in the ass sometimes the fields are mispelled or do not match up.
As a result I created mysql_grep.php. You can download it from my newly created source directory. Check back often for more code/utilities created by me. Below is an example use of mysql_grep.php
jstump@zebulon:~$ php -q bin/mysql_grep.php -d joestump_net -e photo
The following fields match "photo"
+-> photos_favorites
+-> photoID
+-> photos_images
+-> photoID
The following tables match "photo"
+-> photos_albums
+-> photos_favorites
+-> photos_images
The code does not support connecting to hosts other than localhost nor does it support changing sockets/ports. Furthermore, the code requires PEAR’s DB. And, finally, the expressions are passed directly to PHP’s ereg(). This means you should be able to pass "^[A-Z]" as an expression (remember to quote your complex expressions).

November 3rd, 2004 at 7:41 pm
You can run PHP scripts just like perl or shellscripts. Put
#! /usr/bin/php -q
on the first line, and give the script execute permission (chmod +x mysql_grep.php on most GNU systems). Much easier.
November 3rd, 2004 at 7:44 pm
Ian, you’re absolutely correct. One thing to note, though, is that the path to your CLI version of
phpmight be different. Type “which php” to find the appropriate path first (most likely /usr/bin/php or /usr/local/bin/php).