public function caricaCommissione(Esame $esame) { $query = "select \n docenti.id docenti_id,\n docenti.nome docenti_nome,\n docenti.cognome docenti_cognome,\n docenti.email docenti_email,\n docenti.citta docenti_citta,\n docenti.cap docenti_cap,\n docenti.via docenti_via,\n docenti.provincia docenti_provincia,\n docenti.numero_civico docenti_numero_civico,\n docenti.ricevimento docenti_ricevimento,\n docenti.username docenti_username,\n docenti.password docenti_password,\n dipartimenti.id dipartimenti_id,\n dipartimenti.nome dipartimenti_nome\n \n from esami_docenti \n join docenti on esami_docenti.docente_id = docenti.id\n join dipartimenti on docenti.dipartimento_id = dipartimenti.id\n where esami_docenti.esame_id = ?"; $mysqli = Db::getInstance()->connectDb(); if (!isset($mysqli)) { error_log("[caricaCommissione] impossibile inizializzare il database"); $mysqli->close(); return null; } $stmt = $mysqli->stmt_init(); $stmt->prepare($query); if (!$stmt) { error_log("[caricaCommissione] impossibile" . " inizializzare il prepared statement"); $mysqli->close(); return null; } if (!$stmt->bind_param('i', $esame->getId())) { error_log("[caricaIscritti] impossibile" . " effettuare il binding in input"); $mysqli->close(); return null; } if (!$stmt->execute()) { error_log("[caricaIscritti] impossibile" . " eseguire lo statement"); $mysqli->close(); return null; } $row = array(); $bind = $stmt->bind_result($row['docenti_id'], $row['docenti_nome'], $row['docenti_cognome'], $row['docenti_email'], $row['docenti_citta'], $row['docenti_cap'], $row['docenti_via'], $row['docenti_provincia'], $row['docenti_numero_civico'], $row['docenti_ricevimento'], $row['docenti_username'], $row['docenti_password'], $row['dipartimenti_id'], $row['dipartimenti_nome']); if (!$bind) { error_log("[caricaDocenteDaStmt] impossibile" . " effettuare il binding in output"); $mysqli->close(); return null; } while ($stmt->fetch()) { $esame->aggiungiMembroCommissione(UserFactory::instance()->creaDocenteDaArray($row)); } $mysqli->close(); $stmt->close(); }