I Googled "how to handle error messages in php" for your co-founder and came up with this http://www.w3schools.com/php/php_error.asp, since clicking on the "Get an invite" button (on https://framebase.io) while leaving the email field blank throws an exception error:
Error:
exception 'Exception' with message 'MDB2 Error: null value violates not-null constraint, _doQuery: [Error message: Could not execute statement]
[Last executed query: EXECUTE MDB2_STATEMENT_mysql_8edec1a3e8682362d38c86df48ba2cd8 USING @0, @1]
[Native code: 1048]
[Native message: Column 'email' cannot be null]
You should have googled 'how to validate required fields before passing them to SQL because someone will click the button without having added an email...'
Error: exception 'Exception' with message 'MDB2 Error: null value violates not-null constraint, _doQuery: [Error message: Could not execute statement] [Last executed query: EXECUTE MDB2_STATEMENT_mysql_8edec1a3e8682362d38c86df48ba2cd8 USING @0, @1] [Native code: 1048] [Native message: Column 'email' cannot be null]
Executed SQL: INSERT INTO `waitlist` SET `email` = ?, `created_at` = ?;' in /var/www/.submodules/TinyDb/TinyDb/Orm.php:630 Stack trace: #0 /var/www/.submodules/TinyDb/TinyDb/Orm.php(194): TinyDb\Orm::check_mdb2_error(Object(MDB2_Error), Object(TinyDb\Sql)) #1 /var/www/.submodules/TinyDb/TinyDb/Orm.php(165): TinyDb\Orm::raw_create(Array) #2 /var/www/.submodules/Framebase-Models/FSStack/Framebase/Models/Waitlist.php(20): TinyDb\Orm::create(Array) #3 /var/www/Includes/FSStack/Framebase/Controllers/register.php(38): FSStack\Framebase\Models\Waitlist::create('') #4 [internal function]: FSStack\Framebase\Controllers\register->__post_waitlist() #5 /var/www/.submodules/CuteControllers/CuteControllers/Base/Rest.php(25): call_user_func_array(Array, Array) #6 /var/www/.submodules/CuteControllers/CuteControllers/Router.php(28): CuteControllers\Base\Rest->route() #7 /var/www/index.php(47): CuteControllers\Router::start('/var/www/Includ...') #8 {main}
...thought that might help