generated from francesco/deploy-dinamico
Conversione da MySQLi a PDO - pt. 1
All checks were successful
Deploy / trigger (push) Successful in 17s
All checks were successful
Deploy / trigger (push) Successful in 17s
This commit is contained in:
@@ -7,11 +7,21 @@ if (isset($_GET['s'])) {
|
|||||||
|
|
||||||
// Ricerca film dal DB
|
// Ricerca film dal DB
|
||||||
|
|
||||||
$conn = mysqli_connect("localhost", "root", "", "film_attori");
|
// Questi valori vengono letti automaticamente
|
||||||
|
$host = getenv('DB_HOST'); // Sarà "local_db"
|
||||||
|
$db = getenv('DB_NAME'); // Sarà "nomerepository-nomeutente"
|
||||||
|
$user = getenv('DB_USER'); // Uguale al nome DB
|
||||||
|
$pass = getenv('DB_PASS'); // Password generata casualmente ad ogni deploy
|
||||||
|
$charset = 'utf8mb4';
|
||||||
|
|
||||||
if ($conn === false) {
|
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
|
||||||
exit("<code>Errore: impossibile stabilire una connessione " . mysqli_connect_error() . "</code>");
|
|
||||||
|
try {
|
||||||
|
$pdo = new PDO($dsn, $user, $pass);
|
||||||
|
} catch (\PDOException $e) {
|
||||||
|
throw new \PDOException($e->getMessage(), (int) $e->getCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Collegamento al DB effettuato
|
// Collegamento al DB effettuato
|
||||||
|
|
||||||
// Leggo ID
|
// Leggo ID
|
||||||
@@ -30,43 +40,30 @@ if (!is_numeric($_GET['id']) || $_GET['id'] === "" || $_GET['id'] === null) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$idFilm = intval($_GET['id']);
|
$idFilm = intval($_GET['id']);
|
||||||
$query = "SELECT film.id_film, film.nome, film.trama, film.durata, film.data_uscita, generi.nome as genere FROM film, generi WHERE film.id_genere = generi.id_genere AND film.id_film = " . $idFilm . " ORDER BY film.data_uscita";
|
$query = "SELECT film.id_film, film.nome, film.trama, film.durata, film.data_uscita, generi.nome as genere FROM film, generi WHERE film.id_genere = generi.id_genere AND film.id_film = :id ORDER BY film.data_uscita";
|
||||||
|
|
||||||
// Leggo i dati del film e faccio il JOIN per avere il nome del genere
|
// Leggo i dati del film e faccio il JOIN per avere il nome del genere
|
||||||
$res = mysqli_query($conn, $query);
|
$stmt = $pdo->prepare($query);
|
||||||
|
$stmt->execute([
|
||||||
|
':id' => $idFilm
|
||||||
|
]);
|
||||||
|
|
||||||
if ($res === false) {
|
$row = $stmt->fetch();
|
||||||
// Codice HTTP 500: Errore
|
|
||||||
http_response_code(500);
|
|
||||||
echo "<code>Errore: impossibile eseguire la query. " . mysqli_error($conn) . "</code>";
|
|
||||||
mysqli_close($conn);
|
|
||||||
exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
$row = mysqli_fetch_array($res);
|
|
||||||
|
|
||||||
mysqli_free_result($res);
|
|
||||||
|
|
||||||
if (!$row) {
|
if (!$row) {
|
||||||
// Codice HTTP 404: Not found
|
// Codice HTTP 404: Not found
|
||||||
http_response_code(404);
|
http_response_code(404);
|
||||||
echo "<code>Film non trovato!</code>";
|
echo "<code>Film non trovato!</code>";
|
||||||
mysqli_close($conn);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ottengo gli attori
|
// Ottengo gli attori
|
||||||
$queryAttori = "SELECT attori.nome, attori.cognome, attori.data_nascita, recitare.ruolo FROM attori, recitare WHERE attori.id_attore = recitare.id_attore AND recitare.id_film = " . $idFilm . " ORDER BY recitare.ruolo DESC ";
|
$queryAttori = "SELECT attori.nome, attori.cognome, attori.data_nascita, recitare.ruolo FROM attori, recitare WHERE attori.id_attore = recitare.id_attore AND recitare.id_film = :id ORDER BY recitare.ruolo DESC ";
|
||||||
|
|
||||||
$resAttori = mysqli_query($conn, $queryAttori);
|
$stmt = $pdo->prepare($queryAttori);
|
||||||
|
$stmt->execute([
|
||||||
if ($resAttori === false) {
|
':id' => $idFilm
|
||||||
// Codice HTTP 500: Errore
|
]);
|
||||||
http_response_code(500);
|
|
||||||
echo "<code>Errore: impossibile eseguire la query. " . mysqli_error($conn) . "</code>";
|
|
||||||
mysqli_close($conn);
|
|
||||||
exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
@@ -123,7 +120,7 @@ if ($resAttori === false) {
|
|||||||
<div class="grid films">
|
<div class="grid films">
|
||||||
<?php
|
<?php
|
||||||
$test = true;
|
$test = true;
|
||||||
while ($rowAttori = mysqli_fetch_array($resAttori)) {
|
while ($rowAttori = $stmt->fetch()) {
|
||||||
$test = false;
|
$test = false;
|
||||||
?>
|
?>
|
||||||
<div class="attore">
|
<div class="attore">
|
||||||
@@ -136,9 +133,6 @@ if ($resAttori === false) {
|
|||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
mysqli_free_result($resAttori);
|
|
||||||
mysqli_close($conn);
|
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
|
|||||||
@@ -6,37 +6,48 @@ if (isset($_GET['s'])) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ricerca film dal DB
|
// Ricerca film dal DB
|
||||||
|
// Questi valori vengono letti automaticamente
|
||||||
|
$host = getenv('DB_HOST'); // Sarà "local_db"
|
||||||
|
$db = getenv('DB_NAME'); // Sarà "nomerepository-nomeutente"
|
||||||
|
$user = getenv('DB_USER'); // Uguale al nome DB
|
||||||
|
$pass = getenv('DB_PASS'); // Password generata casualmente ad ogni deploy
|
||||||
|
$charset = 'utf8mb4';
|
||||||
|
|
||||||
$conn = mysqli_connect("localhost", "root", "", "film_attori");
|
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
|
||||||
|
|
||||||
if ($conn === false) {
|
try {
|
||||||
exit("<code>Errore: impossibile stabilire una connessione " . mysqli_connect_error() . "</code>");
|
$pdo = new PDO($dsn, $user, $pass);
|
||||||
|
} catch (\PDOException $e) {
|
||||||
|
throw new \PDOException($e->getMessage(), (int) $e->getCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Collegamento al DB effettuato
|
// Collegamento al DB effettuato
|
||||||
|
|
||||||
$query = "SELECT film.id_film, film.nome, film.trama, film.data_uscita, generi.nome as genere FROM film, generi WHERE film.id_genere = generi.id_genere ORDER BY film.data_uscita";
|
|
||||||
$searched = "";
|
$searched = "";
|
||||||
|
|
||||||
// Leggo la ricerca
|
// Leggo la ricerca
|
||||||
if (isset($_GET['q'])) {
|
$params = [];
|
||||||
if (is_string($_GET['q']) && $_GET['q'] !== "" && $_GET['q'] !== null) {
|
|
||||||
$nome = htmlspecialchars($_GET['q']);
|
if (isset($_GET['q']) && $_GET['q'] !== '') {
|
||||||
$searched = $nome;
|
$nome = $_GET['q'];
|
||||||
$query = "SELECT film.id_film, film.nome, film.trama, film.data_uscita, generi.nome as genere FROM film, generi WHERE film.id_genere = generi.id_genere AND film.nome LIKE '%" . $nome . "%' ORDER BY film.data_uscita";
|
$searched = $nome;
|
||||||
}
|
|
||||||
|
$query = `SELECT film.id_film, film.nome, film.trama, film.data_uscita, generi.nome as genere
|
||||||
|
FROM film
|
||||||
|
JOIN generi ON film.id_genere = generi.id_genere
|
||||||
|
WHERE film.nome LIKE :nome
|
||||||
|
ORDER BY film.data_uscita`;
|
||||||
|
|
||||||
|
$params[':nome'] = "%$nome%";
|
||||||
|
} else {
|
||||||
|
$query = `SELECT film.id_film, film.nome, film.trama, film.data_uscita, generi.nome as genere
|
||||||
|
FROM film
|
||||||
|
JOIN generi ON film.id_genere = generi.id_genere
|
||||||
|
ORDER BY film.data_uscita`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Leggo i dati del film e faccio il JOIN per avere il nome del genere
|
// Leggo i dati del film e faccio il JOIN per avere il nome del genere
|
||||||
$res = mysqli_query($conn, $query);
|
$stmt = $pdo->prepare($query);
|
||||||
|
$stmt->execute($params);
|
||||||
if ($res === false) {
|
|
||||||
// Codice HTTP 500: Errore
|
|
||||||
http_response_code(500);
|
|
||||||
echo "<code>Errore: impossibile eseguire la query. " . mysqli_error($conn) . "</code>";
|
|
||||||
mysqli_close($conn);
|
|
||||||
exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
@@ -71,7 +82,8 @@ if ($res === false) {
|
|||||||
<h1>Film in sala</h1>
|
<h1>Film in sala</h1>
|
||||||
<form action="." method="GET">
|
<form action="." method="GET">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<input type="text" id="query" name="q" value="<?php echo $searched; ?>" placeholder="Scrivi il titolo...">
|
<input type="text" id="query" name="q" value="<?php echo $searched; ?>"
|
||||||
|
placeholder="Scrivi il titolo...">
|
||||||
<button type="submit">Cerca</button>
|
<button type="submit">Cerca</button>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
@@ -84,12 +96,13 @@ if ($res === false) {
|
|||||||
|
|
||||||
$test = true;
|
$test = true;
|
||||||
|
|
||||||
while ($row = mysqli_fetch_array($res)) {
|
while ($row = $stmt->fetch()) {
|
||||||
$test = false;
|
$test = false;
|
||||||
?>
|
?>
|
||||||
<a href="<?php echo "../film?id=" . $row['id_film']; ?>">
|
<a href="<?php echo "../film?id=" . $row['id_film']; ?>">
|
||||||
<div class="film">
|
<div class="film">
|
||||||
<img src="<?php echo "../api/v1/img/?n=" . urlencode($row['nome'] . ' ' . date('Y', strtotime($row['data_uscita']))); ?>">
|
<img
|
||||||
|
src="<?php echo "../api/v1/img/?n=" . urlencode($row['nome'] . ' ' . date('Y', strtotime($row['data_uscita']))); ?>">
|
||||||
<h5><?php echo $row['nome']; ?></h5>
|
<h5><?php echo $row['nome']; ?></h5>
|
||||||
<div class="genere">
|
<div class="genere">
|
||||||
<?php echo $row['genere']; ?>
|
<?php echo $row['genere']; ?>
|
||||||
@@ -99,9 +112,6 @@ if ($res === false) {
|
|||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
mysqli_free_result($res);
|
|
||||||
mysqli_close($conn);
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
|
|||||||
Reference in New Issue
Block a user