CHI HA PAURA DELL’INTELLIGENZA ARTIFICIALE?

Immagine
  CHI HA PAURA DELL’INTELLIGENZA ARTIFICIALE? DAL SOFTWARE GENERATIVO AGLI AGENTI, DALLA MEDICINA ALLA ROBOTICA: CHE COSA L’AI SA GIÀ FARE, DOVE STA ANDANDO E QUALI RISCHI DOBBIAMO PRENDERE SUL SERIO Ogni tecnologia realmente trasformativa produce due errori speculari. Il primo consiste nel sottovalutarla, considerandola una moda destinata a rientrare. Il secondo consiste nel sopravvalutarla, attribuendole capacità che ancora non possiede e trasformando una tecnologia in una mitologia. Nel 2026 l’intelligenza artificiale si trova esattamente fra questi due estremi. Non è più ragionevole descriverla come un semplice chatbot evoluto; è altrettanto poco ragionevole presentarla come una mente universale prossima a sostituire l’essere umano in ogni attività. La questione interessante, per chi lavora nell’informatica, nella ricerca, nell’impresa o nelle professioni ad alta intensità di conoscenza, non è dunque stabilire se essere ottimisti o pessimisti. È capire che cosa stia realmente c...

Corso di PHP: 10 – PHP e Database (MySQL)

10 – PHP e Database (MySQL)

Obiettivi

  • Comprendere i fondamenti dei database relazionali.

  • Collegare PHP a un database MySQL.

  • Eseguire query SQL di base per gestire dati.

  • Creare un’applicazione web che utilizza un database per la persistenza.


Contenuti

🔹 Introduzione a MySQL e phpMyAdmin

  • MySQL è un DBMS relazionale molto diffuso per applicazioni web.

  • I dati sono organizzati in tabelle composte da righe (record) e colonne (campi).

  • phpMyAdmin è un’interfaccia grafica web che permette di gestire facilmente database, tabelle e query.

  • Comandi principali in SQL:

    • CREATE DATABASE nome; → crea un nuovo database.

    • CREATE TABLE utenti (...); → crea una tabella.


🔹 Connessione al Database con PHP

Esistono due principali approcci:

  1. mysqli (MySQL Improved)

<?php
$host = "localhost";
$user = "root";
$pass = "";
$dbname = "rubrica";

// Connessione procedurale
$conn = mysqli_connect($host, $user, $pass, $dbname);

if (!$conn) {
    die("Connessione fallita: " . mysqli_connect_error());
}
echo "Connessione avvenuta con successo!";
?>
  1. PDO (PHP Data Objects) – più flessibile e sicuro:

<?php
try {
    $conn = new PDO("mysql:host=localhost;dbname=rubrica", "root", "");
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connessione avvenuta con successo!";
} catch (PDOException $e) {
    echo "Errore: " . $e->getMessage();
}
?>

🔹 Query SQL di Base

  • Inserimento dati

$sql = "INSERT INTO contatti (nome, telefono) VALUES ('Mario Rossi', '3331234567')";
mysqli_query($conn, $sql);
  • Selezione dati

$sql = "SELECT * FROM contatti";
$result = mysqli_query($conn, $sql);

while ($row = mysqli_fetch_assoc($result)) {
    echo $row['nome'] . " - " . $row['telefono'] . "<br>";
}
  • Aggiornamento dati

$sql = "UPDATE contatti SET telefono='3337654321' WHERE nome='Mario Rossi'";
mysqli_query($conn, $sql);
  • Eliminazione dati

$sql = "DELETE FROM contatti WHERE nome='Mario Rossi'";
mysqli_query($conn, $sql);

🔹 Esercizio: Rubrica Online con Database

Descrizione:
Creiamo una rubrica online con le seguenti funzionalità:

  • Aggiungere un contatto (nome e numero).

  • Visualizzare i contatti salvati.

  • Eliminare un contatto.

Struttura tabella MySQL:

CREATE TABLE contatti (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome VARCHAR(50) NOT NULL,
    telefono VARCHAR(15) NOT NULL
);

index.php – Visualizza i contatti e form di inserimento:

<?php
$conn = mysqli_connect("localhost", "root", "", "rubrica");

// Inserimento nuovo contatto
if (isset($_POST['nome']) && isset($_POST['telefono'])) {
    $nome = $_POST['nome'];
    $telefono = $_POST['telefono'];
    $sql = "INSERT INTO contatti (nome, telefono) VALUES ('$nome', '$telefono')";
    mysqli_query($conn, $sql);
}

// Eliminazione contatto
if (isset($_GET['delete'])) {
    $id = $_GET['delete'];
    $sql = "DELETE FROM contatti WHERE id=$id";
    mysqli_query($conn, $sql);
}

// Recupero contatti
$result = mysqli_query($conn, "SELECT * FROM contatti");
?>
<!DOCTYPE html>
<html>
<head>
    <title>Rubrica Online</title>
</head>
<body>
    <h2>Aggiungi Contatto</h2>
    <form method="POST">
        Nome: <input type="text" name="nome" required><br>
        Telefono: <input type="text" name="telefono" required><br>
        <button type="submit">Salva</button>
    </form>

    <h2>Rubrica</h2>
    <ul>
        <?php while($row = mysqli_fetch_assoc($result)) { ?>
            <li>
                <?php echo $row['nome'] . " - " . $row['telefono']; ?>
                <a href="?delete=<?php echo $row['id']; ?>">❌</a>
            </li>
        <?php } ?>
    </ul>
</body>
</html>

📝 Test di Verifica

  1. Qual è la differenza tra mysqli e PDO?

  2. Scrivi la query SQL per aggiornare il numero di telefono di un contatto con id=3.

  3. Qual è il vantaggio di usare phpMyAdmin?

  4. Come si definisce una tabella in SQL?

  5. Cosa succede se non si sanitizzano gli input nei form che interagiscono con il database?


Commenti

Post popolari in questo blog

Corso di Programmazione Strutturata e OOP: 3 Ereditarietà incapsulamento polimorfismo

Corso di CSS & Web Design: 3 – Box Model e spaziature

Corso di HTML: 11 Sviluppo completo di un sito