Era la classica svista
Ora dai pure un'occhiata alla documentazione dei prepared statement con mysqli.
Prima di tutto "definisci" la query, usando dei punti di domanda come segnaposto per i valori:
Codice PHP:
$query = "SELECT id_scuola FROM users WHERE id = ?";
quindi crei il prepared statement, un "oggetto" a cui poi "assocerai" il/i valore/i per le interrogazioni:
Codice PHP:
$stmt = mysqli_prepare($conn, $query);
if (!$stmt) {
die("Errore nella preparazione della query: " . mysqli_error($conn));
}
Associ l'id letto dalla sessione:
Codice PHP:
if (!mysqli_stmt_bind_param($stmt, "i", $_SESSION['id'])) {
die("Errore nel binding dei parametri: " . mysqli_stmt_error($stmt));
}
Esegui il prepared statement:
Codice PHP:
if (!mysqli_stmt_execute($stmt)) {
die("Errore durante l'esecuzione della query: " . mysqli_stmt_error($stmt));
}
Ne estrai il risultato:
Codice PHP:
$result = mysqli_stmt_get_result($stmt);
if (!$result) {
die("Errore durante l'esecuzione della query: " . mysqli_stmt_error($stmt));
}
E (finalmente) ottieni il dato che cercavi:
Codice PHP:
$result = mysqli_stmt_get_result($stmt);
if (!$result) {
die("Errore durante l'esecuzione della query: " . mysqli_stmt_error($stmt));
}
$row = mysqli_fetch_array($result);
if (!$row) {
die("Nessun utente con l'id specificato");
}
$id_scuola = $row['id_scuola'];
Nell'inserimento vero e proprio potrai quindi usare $id_scuola assieme agli altri parametri.