Сохранить имя с апострофом и поймать пропущенный параметр

Фактические данные получены через расширение interbase от отдельной локальной базы Firebird. Собственная учебная таблица удалена после наблюдений.

Наблюдаемый результат программы
НаблюдениеРезультат
Сохранённое и найденное имяО'Коннор
ID найденного клиента1
Недостающий параметр вернул falseда
Предупреждение PHP перехваченода
Код ошибки сервера при этом0
Совпадений с буквальным x' OR 1=1 --0
Записей после ошибочного вызова2
Строки и дополнительные наблюдения
{
    "saved_clients": [
        {
            "ID": 1,
            "CLIENT_NAME": "О'Коннор",
            "EMAIL": "o.connor@example.test"
        },
        {
            "ID": 2,
            "CLIENT_NAME": "Анна",
            "EMAIL": "anna@example.test"
        }
    ],
    "search_rows": [
        {
            "ID": 1,
            "CLIENT_NAME": "О'Коннор"
        }
    ],
    "literal_search_rows": [],
    "missing_argument": {
        "returned_false": true,
        "php_warning": true,
        "server_code": 0
    },
    "parameter_order": [
        "ID",
        "CLIENT_NAME",
        "EMAIL"
    ],
    "connection_charset": "UTF8",
    "raw_warning_text_published": false
}

Самостоятельный запуск создаёт result.json с данными и metrics.json с проверками рядом с example.php.