logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Ceci est une ancienne révision du document !


creer-son-site-web-en-php _ Installer mysql, créer une BDD pour un site en php objet

  • Objet : Mise en place d'une base de données mysql, organiser le code de son site web selon les conventions de la programmation orientée objet.
  • Niveau requis :

Introduction

Installations relative à la base de données

apt-get install php5-mysql 
apt-get install mysql-server
apt-get install phpmyadmin

Utilisation

Base de données, table membre

On crée la base de données

./creerMysqlBDDetUser.sh essaiLogin essaiLogin <motDePasse>

Création de la table membre

USE essaiLogin;
 
DROP TABLE IF EXISTS `membre`;
 
CREATE TABLE IF NOT EXISTS membre(
  membre_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  prenom VARCHAR(50) NOT NULL,
  nom VARCHAR(50) NOT NULL,
  pseudo VARCHAR(20) NOT NULL,
  motPasse 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),
  UNIQUE KEY username (pseudo)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

Quelques insertions pour les tests

USE essaiLogin;
 
TRUNCATE `membre`;
DELETE FROM `membre`;
 
INSERT INTO membre(prenom, nom, pseudo, motPasse, mail, isAdmin, dateInscription) VALUES 
('prenom', 'nom', 'pseudo', MD5('motPasse'), 'mail@mail.fr', 0, now()),
('toto', 'toto', 'toto' ,MD5('toto'), 'toto@toto.fr', 0, now());
BOOL, BOOLEAN

These types are synonyms for TINYINT(1). A value of zero is considered false. Nonzero values are considered true
  • Ce qui donne :
mysql -uessaiLogin -p essaiLogin -e "select * from membre;"
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 |
+-----------+--------+------+-------+----------------------------------+--------------+---------+---------------------+---------------------+
  • On insert un administrateur :
 mysql -uessaiLogin -p essaiLogin -e "INSERT INTO membre(prenom, nom, pseudo, motPasse, mail, isAdmin) VALUES ('admin', 'Admin', 'admin' ,MD5('<passdwCHOISI>'), 'admin@admin.fr', 1);"
  • On ajoute la date et l'heure de l'update pour l'administrateur :
mysql -uessaiLogin -p essaiLogin -e "UPDATE \`membre\` SET \`dateModif\`=NOW() WHERE \`pseudo\`='admin';"

On vérifie

mysql -uessaiLogin -p essaiLogin -e "select * from membre;"
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 |
+-----------+--------+-------+-------+----------------------------------+----------------+---------+---------------------+---------------------+

Remarque sur les dates :

Pour le champ dateModif, si on avait choisi le type DATE à la place de TIMESTAMP

CREATE TABLE IF NOT EXISTS membre(
<...>
  dateInscription TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  dateModif DATE,
<...>
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

On aurait pu modifier la date seulement

  • avec la fonction mysql now() :
UPDATE `membre` SET `dateModif`=NOW() WHERE `pseudo`='admin';
  • ou avec la fonction mysql CURRENT_TIMESTAMP() :
UPDATE `membre` SET `dateModif`=CURRENT_TIMESTAMP() WHERE `pseudo`='admin';
  • qui donneraient ce résultat :
select pseudo, dateModif from membre where pseudo='admin';
+-------+------------+
| pseudo | dateModif  |
+-------+------------+
| admin | 2016-06-24 |
+-------+------------+
utilisateurs/hypathie/tutos/creer-son-site-web-en-php-_-installer-mysql-creer-une-bdd-pour-un-site-en-php-objet.1467138122.txt.gz · Dernière modification: 28/06/2016 20:22 par Hypathie

Pied de page des forums

Propulsé par FluxBB