Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-installer-mysql-creer-une-bdd-pour-un-site-en-php-objet [24/06/2016 10:59] Hypathie [Utilisation] |
utilisateurs:hypathie:tutos:creer-son-site-web-en-php-_-installer-mysql-creer-une-bdd-pour-un-site-en-php-objet [28/06/2016 20:07] Hypathie [Utilisation] |
||
---|---|---|---|
Ligne 27: | Ligne 27: | ||
<code sql> | <code sql> | ||
USE essaiLogin; | USE essaiLogin; | ||
+ | |||
DROP TABLE IF EXISTS `membre`; | DROP TABLE IF EXISTS `membre`; | ||
+ | |||
CREATE TABLE IF NOT EXISTS membre( | CREATE TABLE IF NOT EXISTS membre( | ||
- | membre_id int(10) UNSIGNED NOT NULL AUTO_INCREMENT, | + | membre_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, |
- | prenom varchar(50) NOT NULL, | + | prenom VARCHAR(50) NOT NULL, |
- | nom varchar(50) NOT NULL, | + | nom VARCHAR(50) NOT NULL, |
- | login varchar(20) NOT NULL, | + | pseudo VARCHAR(20) NOT NULL, |
- | motPasse varchar(100) NOT NULL, | + | motPasse VARCHAR(100) NOT NULL, |
- | mail varchar(100) NOT NULL, | + | mail VARCHAR(100) NOT NULL, |
+ | isAdmin tinyint(1)NOT NULL DEFAULT 0, | ||
+ | dateInscription TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | ||
+ | dateModif TIMESTAMP, | ||
PRIMARY KEY (membre_id), | PRIMARY KEY (membre_id), | ||
- | UNIQUE KEY username (login) | + | UNIQUE KEY username (pseudo) |
)ENGINE=InnoDB DEFAULT CHARSET=utf8; | )ENGINE=InnoDB DEFAULT CHARSET=utf8; | ||
+ | |||
</code> | </code> | ||
Ligne 47: | Ligne 51: | ||
USE essaiLogin; | USE essaiLogin; | ||
- | TRUNCATE `login`; | + | TRUNCATE `membre`; |
- | DELETE FROM `login`; | + | DELETE FROM `pseudo`; |
- | INSERT INTO membre(prenom, nom, login, motPasse, mail) VALUES | + | INSERT INTO membre(prenom, nom, pseudo, motPasse, mail) VALUES |
- | ('prenom', 'nom', 'login', MD5('motPasse', 'mail@mail.fr')), | + | ('prenom', 'nom', 'pseudo', MD5('motPasse'), 'mail@mail.fr'), |
('toto', 'toto', 'toto' ,MD5('toto'), 'toto@toto.fr'); | ('toto', 'toto', 'toto' ,MD5('toto'), 'toto@toto.fr'); | ||
</code> | </code> | ||
+ | |||
+ | <note tip> | ||
+ | * La ligne ''isAdmin tinyint(1)NOT NULL DEFAULT 0,'' \\ signifie que le champs est rempli par défaut avec la valeur ''FALSE''.\\ La valeur ''TRUE'' sera ''1''. | ||
+ | * Voir : http://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.html | ||
+ | <code>BOOL, BOOLEAN | ||
+ | |||
+ | These types are synonyms for TINYINT(1). A value of zero is considered false. Nonzero values are considered true</code> | ||
+ | </note> | ||
+ | |||
+ | * Ce qui donne : | ||
+ | |||
+ | <code user>mysql -uessaiLogin -p essaiLogin -e "select * from membre;"</code> | ||
+ | <code>Enter password: | ||
+ | +-----------+--------+------+-------+----------------------------------+--------------+---------+---------------------+---------------------+ | ||
+ | | membre_id | prenom | nom | pseudo | motPasse | mail | isAdmin | dateInscription | dateModif | | ||
+ | +-----------+--------+------+-------+----------------------------------+--------------+---------+---------------------+---------------------+ | ||
+ | | 1 | prenom | nom | pseudo | 335368c4ed30a8f0f3b3919a2dfade2a | mail@mail.fr | 0 | 2016-06-24 15:08:29 | 0000-00-00 00:00:00 | | ||
+ | | 2 | toto | toto | toto | f71dbe52628a3f83a77ab494817525c6 | toto@toto.fr | 0 | 2016-06-24 15:08:29 | 0000-00-00 00:00:00 | | ||
+ | +-----------+--------+------+-------+----------------------------------+--------------+---------+---------------------+---------------------+ | ||
+ | </code> | ||
+ | |||
+ | * On insert un administrateur : | ||
+ | |||
+ | <code user> | ||
+ | mysql -uessaiLogin -p essaiLogin -e "INSERT INTO membre(prenom, nom, pseudo, motPasse, mail, isAdmin) VALUES ('admin', 'Admin', 'admin' ,MD5('<passdwCHOISI>'), 'admin@admin.fr', 1);" | ||
+ | </code> | ||
+ | |||
+ | * On ajoute la date et l'heure de l'update pour l'administrateur : | ||
+ | |||
+ | <code user>mysql -uessaiLogin -p essaiLogin -e "UPDATE \`membre\` SET \`dateModif\`=NOW() WHERE \`pseudo\`='admin';"</code> | ||
===On vérifie === | ===On vérifie === | ||
<code user>mysql -uessaiLogin -p essaiLogin -e "select * from membre;"</code> | <code user>mysql -uessaiLogin -p essaiLogin -e "select * from membre;"</code> | ||
+ | |||
<code> | <code> | ||
+ | Enter password: | ||
+ | +-----------+--------+-------+-------+----------------------------------+----------------+---------+---------------------+---------------------+ | ||
+ | | membre_id | prenom | nom | pseudo | motPasse | mail | isAdmin | dateInscription | dateModif | | ||
+ | +-----------+--------+-------+-------+----------------------------------+----------------+---------+---------------------+---------------------+ | ||
+ | | 1 | prenom | nom | pseudo | 335368c4ed30a8f0f3b3919a2dfade2a | mail@mail.fr | 0 | 2016-06-24 15:08:29 | 0000-00-00 00:00:00 | | ||
+ | | 2 | toto | toto | toto | f71dbe52628a3f83a77ab494817525c6 | toto@toto.fr | 0 | 2016-06-24 15:08:29 | 0000-00-00 00:00:00 | | ||
+ | | 3 | admin | Admin | admin | 21232f297a57a5a743894a0e4a801fc3 | admin@admin.fr | 1 | 2016-06-24 15:10:16 | 2016-06-24 15:12:40 | | ||
+ | +-----------+--------+-------+-------+----------------------------------+----------------+---------+---------------------+---------------------+ | ||
+ | |||
</code> | </code> | ||
+ | |||
+ | |||
+ | <note> | ||
+ | **Remarque sur les dates :** | ||
+ | |||
+ | Pour le champ ''dateModif'', si on avait choisi le type ''DATE'' à la place de ''TIMESTAMP'' | ||
+ | |||
+ | <code> | ||
+ | CREATE TABLE IF NOT EXISTS membre( | ||
+ | <...> | ||
+ | dateInscription TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | ||
+ | dateModif DATE, | ||
+ | <...> | ||
+ | )ENGINE=InnoDB DEFAULT CHARSET=utf8; | ||
+ | </code> | ||
+ | |||
+ | On aurait pu modifier la date seulement | ||
+ | |||
+ | * avec la fonction mysql ''now()'' : | ||
+ | |||
+ | <code>UPDATE `membre` SET `dateModif`=NOW() WHERE `pseudo`='admin';</code> | ||
+ | |||
+ | * ou avec la fonction mysql ''CURRENT_TIMESTAMP()'' : | ||
+ | |||
+ | |||
+ | <code>UPDATE `membre` SET `dateModif`=CURRENT_TIMESTAMP() WHERE `pseudo`='admin';</code> | ||
+ | |||
+ | * qui donneraient ce résultat : | ||
+ | |||
+ | <code>select pseudo, dateModif from membre where pseudo='admin';</code> | ||
+ | |||
+ | <code> | ||
+ | +-------+------------+ | ||
+ | | pseudo | dateModif | | ||
+ | +-------+------------+ | ||
+ | | admin | 2016-06-24 | | ||
+ | +-------+------------+ | ||
+ | |||
+ | </code> | ||
+ | |||
+ | </note> |