If you come across any problem – ‘error on DNS page’ while using the Plesk control panel; there are multiple ways to fix this error. Such error comes when you are on Plesk control panel and the error you getting is “ERROR: PleskException”. If you have made any kind of changes within the DNS page in Plesk, then the following error will be displayed

Table::select() failed: no such row in the table

Or

ERROR: PleskException
Table::select() failed: no such row in the table

0 : /usr/local/psa/admin/plib/dns/DNSZone.php:52
DNSZone->DNSZone(string ‘100’)

1 : /usr/local/psa/admin/plib/common_func.php3:2610
objectMaker(string ‘DNSZone’, string ‘100’)

2 : /usr/local/psa/admin/plib/dns/DNSManager.php:39
DNSManager::getDNSZone(string ‘100’)

3 : /usr/local/psa/admin/htdocs/domains/dns.php:21

There are few solutions for the errors mentioned above that can be implemented by the administrator. If you know at least a bit about DNS, then you would surely know about the DNS zone which is specified by their ID’s. The fault which is being effected is due to the psa.domains Plesk mysql table, the record of dns_zone_id which points to the in existence record which is pointing to the id record which is with in the psa.dns_zone table for one or a number of domains.

This shows that the error might have occurred due to some internal setting of the Plesk control panel; it could either be a broken database or incomplete domain deletion.

It is necessary to create a right zone back in psa.dns_zone within the table first

The user has to login into mysql server console in order to make some necessary changes; they can be as follows:

# mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa

The command mentioned above will search for particular domains that will help the end user to locate the specific domain name with the missed ID.

#mysql> SELECT d.name FROM domains d LEFT JOIN dns_zone z ON d.dns_zone_id=z.id WHERE z.id IS NULL;

The above dname will select from the domains list. The search for the left joing the dns zone by searching as per the id of the dns zone.

Each Reported Domain Do They Follow;-

1.The user has to create an appropriate id within the records with the commands mentioned below. Make a note that you will have to replace ‘Domain Name’ with the actual domain URL and you will also have to change the admin email with the correct email.

mysql> INSERT INTO dns_zone SET name='Domain Name', displayName='DOMAIN-NAME', email='ADMIN-EMAIL';

2. How to know the new zone ID:

mysql> SELECT id, name FROM dns_zone ORDER BY id DESC LIMIT 1;

3. Substitute the correct ID into the psa.domains table; make sure to add the correct values

mysql> UPDATE domains SET dns_zone_id='DOMAIN-ID' WHERE name='DOMAIN-NAME';

Then log into Plesk panel, for each corrected domain go to domain.com > DNS and use Default button to re-generate DNS records. This would definitely fix the error in the Plesk control panel. Other options are also available to sort out this error, however the one mentioned above is much preferable