diff --git a/Database/MySQL.sql b/Database/MySQL.sql index 43d2983..48d5dc3 100644 --- a/Database/MySQL.sql +++ b/Database/MySQL.sql @@ -1,25 +1,25 @@ CREATE TABLE IF NOT EXISTS `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `email` varchar(254) NOT NULL, + `email` varchar(249) COLLATE utf8mb4_unicode_ci NOT NULL, `password` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL, - `username` varchar(100) DEFAULT NULL, + `username` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `verified` tinyint(1) unsigned NOT NULL DEFAULT '0', `registered` int(10) unsigned NOT NULL, `last_login` int(10) unsigned DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `users_confirmations` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `email` varchar(254) NOT NULL, + `email` varchar(249) COLLATE utf8mb4_unicode_ci NOT NULL, `selector` varchar(16) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL, `token` varchar(255) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL, `expires` int(10) unsigned NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `selector` (`selector`), KEY `email_expires` (`email`,`expires`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `users_remembered` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, @@ -30,7 +30,7 @@ CREATE TABLE IF NOT EXISTS `users_remembered` ( PRIMARY KEY (`id`), UNIQUE KEY `selector` (`selector`), KEY `user` (`user`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `users_resets` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, @@ -41,14 +41,14 @@ CREATE TABLE IF NOT EXISTS `users_resets` ( PRIMARY KEY (`id`), UNIQUE KEY `selector` (`selector`), KEY `user` (`user`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `users_throttling` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, - `action_type` enum('login','register','confirm_email') NOT NULL, + `action_type` enum('login','register','confirm_email') COLLATE utf8mb4_unicode_ci NOT NULL, `selector` varchar(44) CHARACTER SET latin1 COLLATE latin1_general_cs DEFAULT NULL, `time_bucket` int(10) unsigned NOT NULL, `attempts` mediumint(8) unsigned NOT NULL DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `action_type_selector_time_bucket` (`action_type`,`selector`,`time_bucket`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; diff --git a/README.md b/README.md index cf12374..7ee5c77 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Completely framework-agnostic and database-agnostic. ### Create a new instance ```php -// $db = new PDO('mysql:dbname=database;host=localhost;charset=utf8', 'username', 'password'); +// $db = new PDO('mysql:dbname=database;host=localhost;charset=utf8mb4', 'username', 'password'); // $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $auth = new \Delight\Auth\Auth($db); diff --git a/tests/index.php b/tests/index.php index 1f5638c..d17ac71 100644 --- a/tests/index.php +++ b/tests/index.php @@ -20,7 +20,7 @@ header('Content-type: text/html; charset=utf-8'); error_reporting(E_ALL); ini_set('display_errors', 'stdout'); -$db = new PDO('mysql:dbname=php_auth;host=127.0.0.1;charset=utf8', 'root', ''); +$db = new PDO('mysql:dbname=php_auth;host=127.0.0.1;charset=utf8mb4', 'root', ''); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); require __DIR__.'/../src/Auth.php';