Tag Archives: MySql

A WordPress plugin/Dashboard Widget that allows you to connect to any database and edit the contents.

This plugin is a dashboard widget to allow you to connect to any MySQL database of your choice (as long as your hosting allows) and search, edit, add and delete records in an easy to use interface. Ideal if you have built a site referencing another database. You can allow other editors/administrators of the site to alter, update, delete, add and correct entries without having to give them the full capabilities of administration tools such as phpMyAdmin.

Installation

To install, download the .zip file from the link below, extract the contents and place the edit-any-table folder in your plugin directory (typically \\your-site\wp-content\plugins\)

Setup

Once installed go to the Dashboard->Plugins page of your WordPress site and activate the plugin:

Now go to the Dashboard->Settings->Edit Any Table page and enter the required details:

First you’ll need to enter the host (often localhost), the name of the database you wish to connect to and a valid user name and password. Under Admin Settings you can choose to allow Administrators only to have access to the widget or Editors as well. Note: If neither of these boxes are ticked the widget will not display in your WordPress Dashboard. You can choose what to allow the Editor to do i.e. Add, Edit and/or Delete. Leaving these boxes unchecked will give the Editor view only access. Display Settings allows you to select the maximum number of columns to display for returned searches. Edit Any Table displays best in a single column dashboard configuration and I find five columns is a comfortable fit but adjust to suit. Here you can also select to apply a friendly name for your connected database, this can help to assure editors (who don’t have access to the settings) they are working on the correct records. Finally, if you don’t want Edit Any Table to display as a widget then you can choose to have it rendered in its own separate admin page. Tables, if you have entered your database credentials correctly and saved them, you will get a list of all the tables. Select which ones you would like to be accessed via the admin screen.

You will also notice that at the top of the settings page is an option to switch debug mode on or off. Switching it on will display all the SQL sent to your database and may help identify and issues or strange results you may be getting.

Using Edit Any Table

Once configured return to the dashboard and you should see the following widget:

Now choose a table from the drop down list and select Open Note: If there is nothing in the list then you have either not entered the correct details in your settings or there are no tables in your database.

Here you can either search or add a new record with the values you have entered. Entering no search criteria returns all the records from the table. To clear any values hit the Reset button. If you enter values that are not of the correct type or in the wrong format when adding a new record these values will be substituted for the database defaults. Wild cards do not work in searches but by selecting the ‘Fuzzy’ check box Edit Any Table will look for the phrase or part word you entered within any string field i.e. entering ‘Liz’ in a first name field could return Elizabeth, Liz or Lizzy. Please be aware that fuzzy searches can take a lot longer when searching large datasets. Any time you want to return to this screen just select the Open button again.

These are the search results for a search against the AString field using the phrase hello:

Now you can edit the record contents or delete a record. To return to the search/add record screen just select Open again. That’s it, enjoy.

Known Issues / Features

Please Note

To use this plugin you need a basic knowledge of database design and setup. Modifying records can have unpredictable results so if you are at all unsure I would suggest creating a test table first before using in anger.

Moving across from legacy SupaNames account to 123reg and issues with permalinks

Supanames was taken over by 123-reg a few years ago. This wasn’t something that affected me initially and I continued to use my Supanames account as always. However when recently trying to install the latest version of WordPress I found that the version of MySQL was not compatible with the latest upgrade. I contacted 123-reg who informed me that there was no plan to upgrade old Supanames hosting and so with great reluctance I began to make preparations to move over to the more up to date 123-reg hosting.

The first thing to do was to backup the database. This is remarkably simple to do using the Supanames MyPanel interface.

Go to MyPanel and then in the Left-hand menu choose MySQL DATABASES, MySQL Backup Submenu.

Click on the link on the next page in MyPanel to Backup your Database.

If successful, you will receive a message confirming the backup has been completed. The backup is zipped and stored on the root directory of your web space. Having done this I then downloaded my entire site via FTP (I use Filezilla) including the zipped database backup.

I am fortunate that I don’t have hundreds of email boxes consider, all mine are hooked into gmail accounts and I have records of the alternate addresses. So I contacted the account holders to inform them that their mail would be down for maintenance. Once this was done I gave 123-reg the go-ahead to close down my old Supanames hosting and fire up the new one. This was ready to go in a couple of hours and the first thing I did was re-establish the mail boxes and send instructions to the users on how to reconnect.

Next I FTP’d the entire site back up to the root directory so that it had exactly the same structure as it did before.

The final step is to restore the database and modify the configuration so pages and database can talk to one another. Restoring a database with 123-reg is not quite as simple as Supanames but it is no great technical feat either. First you need to create a database. In your 123-reg control panel go to Web Hosting -> Manage

Then select Manage Database -> Add database

Take a note of the username, password and server, you will need these for the config file. Return to the Add database screen and log on to your new database. Select the Import tab:

Select the previously downloaded backup via Choose File and then hit the Go button (you should be able to leave all other settings at default). Hey presto your database is restored. Now for the configuration.

You need to edit your wp-config.php file typically found in the root directory of your web space. Enter the database name, user and password against DB_NAME, DB_USER, DB_PASSWORD respectively (you can get the database name from the Add Database screen). On the old Supanames hosting the host name (DB_HOST) was set to ‘localhost’ this now needs to be set to the server name. Once done save wp-config.php back to your web space.

After doing this I was pleased to see my front page (this blogg) functioning correctly, however when I selected any of the links I was given a 404 Not Found error. A quick Google and my suspicions were confirmed, it was something to do with the permalink structure I was using. I found a number of solutions and didn’t like any of them much so before trying any of them I went into my WordPress Admin and selected Settings -> Permalinks. I did not change any of the settings, merely selected the Save Changes button. This completely fixed my problem, so I urge you to try this before one of the more complex and possibly dangerous solutions on the net.