How to view the MySQL query sent by an admin form?

The Bootstrap Admin Forms are built with PHP Form Builder. They are located in the admin/inc/forms/ folder.


About the Admin forms and PHP Form Builder's PDO class

PHP Form Builder is included in PHP CRUD Generator's package.
With all its functionnalities and plugins.

The MySQL queries sent to your database are built with PHP Form Builder's PDO wrapper class.

Documentation and sample codes are available here on PHP Form Builder's website.

PHP Form Builder
PHP Form Builder

All the Admin forms are located in the same folder in admin/inc/forms/.

Each table uses 3 forms:

  • table-create.php
  • table-edit.php
  • table-delete.php

where "table" is the sanitized name of your table.

All the actions (database recordings) are done in the same files after validation.


How to display the database queries and/or errors

From the CRUD generator, two configuration options are available.
The first allows you to display details only when an SQL query fails and an error occurs, while the second systematically displays details of all SQL queries (DEBUG mode).

The PHP CRUD DEBUG option
The PHP CRUD DEBUG option

The "Display the database errors" option

Activate this option from the CRUD Generator "Configuration" tab.

When a SQL query returns an error, details of the query will be displayed on screen, including the query in PDO format with placeholders, the query generated in SQL format sent to the server, and the error message returned by the database.

The Debug mode

Activate the "Debug" mode from the CRUD Generator "Configuration" tab.

When Debug mode is activated, all the queries are displayed in detail on the screen, both in the lists and in the admin forms.
The details of each query are available in PDO with any placeholders, filters and options, and in SQL format as the database receives them.

With the DEBUG mode enabled. The INSERT, UPDATE and DELETE queries are only simulated, allowing to debug without making any change to your records.


You can then copy/paste your SQL queries directly into your database manager (PhpMyAdmin or similar).
You'll see in return if a field has an invalid value, or if there's some other problem in the query.


If the query works in your database manager but not in PHPCG, there can be 2 causes:

  1. The MySQL user with which you connect from PHPCG has insufficient privileges to perform the query (check your MySQL users' privileges)
  2. The table on which the query does not meet the prerequisites. particularly, each table must have an auto-incremented primary key. If it doesn't, the records are still inserted / edited from the admin dashboard, but the program returns the Error while recording.
    You can check from the generator, in the Build Create / Update Forms part. If your table does have an auto-incremented primary key, you should see PRIMARY and AUTO-INCREMENT badges under the field name.

Prerequisites

To edit the Bootstrap Admin Forms you must beforehand:

PHP CRUD tutorial main page