Hey there, Awesome Customers!

Just a heads up: We'll be taking a breather to celebrate International Workers' Day (May 1st and 2nd - Wednesday and Thursday) and Orthodox Easter from Good Friday (May 3rd) through Easter Monday (May 6th). So, from May 1st to May 6th, our team will be off enjoying some well-deserved downtime.

During this time, our customer support will be running on a smaller crew, but don't worry! We'll still be around to help with any urgent matters, though it might take us a bit longer than usual to get back to you.

We'll be back in action at full throttle on May 7th (Tuesday), ready to tackle your questions and requests with gusto!

In the meantime, you can explore our documentation for Amelia and wpDataTables. You'll find loads of helpful resources, including articles and handy video tutorials on YouTube (Amelia's YouTube Channel and wpDataTables' YouTube Channel). These gems might just have the answers you're looking for while we're kicking back.

Thanks a bunch for your understanding and support!

Catch you on the flip side!

Warm regards,

TMS

Okay
  Public Ticket #3377162
Table with SQL Statement crashes, in phpmyadmin it works however
Closed

Comments

  • Thomas Traugott started the conversation

    I can save sucessfully the table with the SQL-Statement. However, the table never shows a result because the script crashes and throws an excpetion in class.wpdatatable.php on line 2605.

    WP-Log:

    PHP Fatal error:  Uncaught TypeError: array_unshift(): Argument #1 ($array) must be of type array, null given in .../public_html/wp-content/plugins/wpdatatables/source/class.wpdatatable.php:2605
    Stack trace:
    #0 .../public_html/wp-content/plugins/wpdatatables/source/class.wpdatatable.php(2605): array_unshift()
    #1 .../public_html/wp-content/plugins/wpdatatables/controllers/wdt_ajax_actions.php(247): WPDataTable->queryBasedConstruct()
    #2 ... public_html/wp-includes/class-wp-hook.php(308): wdtGetAjaxData()
    #3 .../public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters()
    #4 .../public_html/wp-includes/plugin.php(517): WP_Hook->do_action()
    #5 .../public_html/wp-admin/admin-ajax.php(188): do_action()
    #6 {main}
      thrown in .../public_html/wp-content/plugins/wpdatatables/source/class.wpdatatable.php on line 2605

    The same select statement succeeds in phpmyadmin and gives the currect result set.

    -------------------------------------------------------------------------------------------

    SELECT posts_post.ID AS post_ID
    FROM wp_posts AS posts_post
    WHERE posts_post.id = "%CURRENT_POST_ID%"
       
       UNION
       
       SELECT ID
    FROM wp_posts
    WHERE post_type = 'comments'
       
       UNION ALL

    Does anyone know how to solve the problem?

    Thanks

    Thomas

  •  1,692
    Miloš replied


    Hi, Thomas.

    Firstly, I would like to sincerely apologize for the delayed response as we have been experiencing an unusually high number of tickets. I am sorry that it has taken longer than usual to respond to your concern and your patience is highly appreciated.

    -

    Our plugin is not a database management tool, and is not meant to be used as one;

    that is why you are able to run this specific Query in your PhPMyAdmin,

    we will elaborate more on the SQL logic from our plugin.

    Our logic is based on a PHP SQL parser which has full support for the SQL dialect for the following statement types

    SELECT, INSERT, UPDATE, DELETE, REPLACE, RENAME, SHOW, SET, DROP, CREATE INDEX, CREATE TABLE, EXPLAIN and DESCRIBE.

    Some of them are disabled for security reasons.

    Filtering, sorting, and search may not work properly if you include:

    • Accent graves ( ` ) around the table name
    • JOIN functions
    • UNION functions
    • CONCAT functions
    • sub-queries

    -

    So, first you can check for accent graves around the table name, if you have this, remove it...

    Then, see if you used CONCAT to create any column.

    If so, go into this column setting, and disable it from "global search" in the Filtering tab.

    -

    7138515403.png

    -

    If none of that helps,

    you can try preparing a MySQL view (which will return the data that you need, call it e.g. “view1” and then build a wpDataTables based on a simple query like "SELECT * FROM view1″.

     If you need help with that, you can see our video, where we show an example of using View in our plugin.

    -

    Let us know if that helps.

    Thank you.


    Kind Regards, 

    Miloš Jovanović
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables