When recording a payment as staff for a client, the Check/ID field relates to the transactions.transaction_id column which is varchar(128) but it is possible to enter a value longer than 128 as the length is not validated.
Instead, we should not allow a value larger than 128 to be submitted. Consider databases with a collation of utf8mb4.
[2022-08-29T15:19:13.701421+00:00] general.ERROR: PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'transaction_id' at row 1 in /home/blestau/public_html/551/vendors/minphp/db/src/PdoConnection.php:196 Stack trace: #0 /home/blestau/public_html/551/vendors/minphp/db/src/PdoConnection.php(196): PDOStatement->execute(Array) #1 /home/blestau/public_html/551/vendors/minphp/record/src/Record.php(305): Minphp\Db\PdoConnection->query('INSERT INTO `tr...', Array) #2 /home/blestau/public_html/551/app/models/transactions.php(71): Minphp\Record\Record->insert('transactions', Array, Array) #3 /home/blestau/public_html/551/app/controllers/admin_clients.php(4392): Transactions->add(Array) #4 /home/blestau/public_html/551/vendors/minphp/bridge/src/Lib/Dispatcher.php(142): AdminClients->recordPayment() #5 /home/blestau/public_html/551/index.php(21): Dispatcher::dispatch('/551/admin/clie...') #6
{main}