# bit-form/3.2.2/includes/Core/Fallback/EntryMetaFallback.php

Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator &amp; Custom Form Builder, version 3.2.2. 23 lines.

- Page: https://pluginprobe.com/plugins/bit-form/3.2.2/code/includes/Core/Fallback/EntryMetaFallback.php
- Raw: https://pluginprobe.com/plugins/bit-form/3.2.2/raw/includes/Core/Fallback/EntryMetaFallback.php
- Modified: 2026-05-06T12:34:34+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/bit-form/3.2.2/code/includes/Core/Fallback/EntryMetaFallback.php#L10-L20`.

```php
<?php

namespace BitCode\BitForm\Core\Fallback;

class EntryMetaFallback
{
  public function removeAllDuplicateMetaKeysExceptLast()
  {
    global $wpdb;
    $tablename = $wpdb->prefix . 'bitforms_form_entrymeta';
    // Direct query: table name from $wpdb->prefix concatenation only (no user input). $wpdb->prepare() cannot parameterize table names in self-join delete.
    $sql = $wpdb->query("DELETE a FROM $tablename AS a
    JOIN (
        SELECT bitforms_form_entry_id, meta_key, MAX(meta_id) AS max_id
        FROM $tablename
        GROUP BY bitforms_form_entry_id, meta_key
    ) AS b 
    ON a.bitforms_form_entry_id = b.bitforms_form_entry_id AND a.meta_key = b.meta_key
    WHERE a.meta_id != b.max_id;
    ");
  }
}

```
