Creació de la BD i la taula: diferència entre les revisions
Es crea la pàgina amb «== Creació de la BD i de la taula amb un sol fitxer == Per aquesta practica s'ha desenvolupat un unic fitxer PHP que realitza dos connexions a MariaDB. La primera per crear la BD i la segona per crear-hi la taula. La BD s'anomenarà preferencies i tindrà una codificació de caracters UTF-8. L'usuari IOT tindrà permisos de lectura i escriptura mentre que l'usuari convidat únicament de lectura<pre> <?php // Definim els paràmetres per realitzar la...». |
Cap resum de modificació |
||
| Línia 2: | Línia 2: | ||
Per aquesta practica s'ha desenvolupat un unic fitxer PHP que realitza dos connexions a MariaDB. La primera per crear la BD i la segona per crear-hi la taula. | Per aquesta practica s'ha desenvolupat un unic fitxer PHP que realitza dos connexions a MariaDB. La primera per crear la BD i la segona per crear-hi la taula. | ||
La BD s'anomenarà preferencies i tindrà una codificació de caracters UTF-8. L'usuari IOT tindrà permisos de lectura i escriptura mentre que l'usuari convidat únicament de lectura | |||
// Definim els paràmetres per realitzar la connexió | |||
$servername = "127.0.0.1"; | |||
$username = "root"; | |||
$password = "fjeclot"; | |||
try { | |||
// Definim un nou objecte de la classe PDO amb els atributs: host al que ens connectarem, el nom d'usuari i contrasenya. | |||
$conn = new PDO("mysql:host=$servername", $username, $password); | |||
// A través de la funció setAttribute, agafem el tipus d'error en cas de que n'hi hagi algun | |||
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | |||
// Definim una variable que és l'ordre que s'executara, la qual és crear una BBDD nova amb nom "myDBPDO" | |||
$sql = "CREATE DATABASE IF NOT EXISTS preferencies CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"; | |||
// Dins de la connexió, executem la variable sql (que és l'ordre vista anteriorment) | |||
$conn->exec($sql); | |||
Un cop creada la BD, iniciarem una segona connexio que aquesta vegada incloura el nom de la BD creada anteriorment i crearem una taula de nom canvis_idioma amb les següents columnes: | |||
[mysqld] | id INT AUTO_INCREMENT PRIMARY KEY, | ||
default-time-zone = '+01:00' | idioma VARCHAR(10) NOT NULL, | ||
data_canvi DATETIME NOT NULL, | |||
ip_client VARCHAR(45) DEFAULT NULL, | |||
nom_usuari VARCHAR(50) | |||
A més a més, haurem d'especificar la codificació de la taula també com a UTF-8 | |||
// Segona connexió per crear la taula | |||
$servidor = "127.0.0.1"; | |||
$usuari = "root"; | |||
$contrasenya = "fjeclot"; | |||
$nomDB = "preferencies"; | |||
$conn = new PDO("mysql:host=$servidor;dbname=$nomDB", $usuari, $contrasenya); | |||
// A través de la funció setAttribute, agafem el tipus d'error en cas de que n'hi hagi algun | |||
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | |||
// Definim una variable que és l'ordre que s'executara, la qual és crear una BBDD nova amb nom "myDBPDO" | |||
$sql = "CREATE TABLE canvis_idioma ( | |||
id INT AUTO_INCREMENT PRIMARY KEY, | |||
idioma VARCHAR(10) NOT NULL, | |||
data_canvi DATETIME NOT NULL, | |||
ip_client VARCHAR(45) DEFAULT NULL, | |||
nom_usuari VARCHAR(50) | |||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;"; | |||
$conn->exec($sql); | |||
// Si es crea correctament | |||
echo "Base de Dades i taula creades correctament<nowiki><br></nowiki>"; | |||
Per ultim, es pot donar el cas que MariaDB no tingui la zona horaria correcte. Per establir la zona horaria de Catalunya, haurem d'editar el fitxer de configuracio de MariaDB (/etc/mysql/mariadb.conf.d/50-server.cnf) i afegir el següent: | |||
[mysqld] | |||
default-time-zone = '+01:00' | |||
Revisió del 01:52, 15 des 2025
Creació de la BD i de la taula amb un sol fitxer
Per aquesta practica s'ha desenvolupat un unic fitxer PHP que realitza dos connexions a MariaDB. La primera per crear la BD i la segona per crear-hi la taula.
La BD s'anomenarà preferencies i tindrà una codificació de caracters UTF-8. L'usuari IOT tindrà permisos de lectura i escriptura mentre que l'usuari convidat únicament de lectura
// Definim els paràmetres per realitzar la connexió
$servername = "127.0.0.1";
$username = "root";
$password = "fjeclot";
try {
// Definim un nou objecte de la classe PDO amb els atributs: host al que ens connectarem, el nom d'usuari i contrasenya.
$conn = new PDO("mysql:host=$servername", $username, $password);
// A través de la funció setAttribute, agafem el tipus d'error en cas de que n'hi hagi algun
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Definim una variable que és l'ordre que s'executara, la qual és crear una BBDD nova amb nom "myDBPDO"
$sql = "CREATE DATABASE IF NOT EXISTS preferencies CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci";
// Dins de la connexió, executem la variable sql (que és l'ordre vista anteriorment)
$conn->exec($sql);
Un cop creada la BD, iniciarem una segona connexio que aquesta vegada incloura el nom de la BD creada anteriorment i crearem una taula de nom canvis_idioma amb les següents columnes:
id INT AUTO_INCREMENT PRIMARY KEY, idioma VARCHAR(10) NOT NULL, data_canvi DATETIME NOT NULL, ip_client VARCHAR(45) DEFAULT NULL, nom_usuari VARCHAR(50)
A més a més, haurem d'especificar la codificació de la taula també com a UTF-8
// Segona connexió per crear la taula
$servidor = "127.0.0.1";
$usuari = "root";
$contrasenya = "fjeclot";
$nomDB = "preferencies";
$conn = new PDO("mysql:host=$servidor;dbname=$nomDB", $usuari, $contrasenya);
// A través de la funció setAttribute, agafem el tipus d'error en cas de que n'hi hagi algun
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Definim una variable que és l'ordre que s'executara, la qual és crear una BBDD nova amb nom "myDBPDO"
$sql = "CREATE TABLE canvis_idioma (
id INT AUTO_INCREMENT PRIMARY KEY,
idioma VARCHAR(10) NOT NULL,
data_canvi DATETIME NOT NULL,
ip_client VARCHAR(45) DEFAULT NULL,
nom_usuari VARCHAR(50)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;";
$conn->exec($sql);
// Si es crea correctament
echo "Base de Dades i taula creades correctament<br>";
Per ultim, es pot donar el cas que MariaDB no tingui la zona horaria correcte. Per establir la zona horaria de Catalunya, haurem d'editar el fitxer de configuracio de MariaDB (/etc/mysql/mariadb.conf.d/50-server.cnf) i afegir el següent:
[mysqld] default-time-zone = '+01:00'