Ok... giuro che questa volta ho letto il manuale.
Praticamente... ah ciao ragazzi
Dicevo, praticamente ho una funzione, un metodo insomma, che prepara una query, controllo se ci sono corrispondenze e infine dovrebbe stampare dei risultati. Ora mi spiego meglio.
TABELLA DATABASE ( example )
Nome tabella: utenti_bloccati
Campo 1 : id_utente
Campo 2: nome_utente
Campo 3: data_blocco
Campo 4: motivo_blocco
Campo 5: autore_blocco
Campo ? ecc... così via.
CODICE PHP ( example )
Codice PHP:
public function check_blocked($emai, $id) {
$stmt = $this->db->stmt_init();
$stmt->prepare("SELECT * FROM utenti_bloccati WHERE nome_utente = ? AND id_utente = ?");
$stmt->bind_param("si", $email, $id);
$stmt->execute();
$stmt->store_result();
// Controllo quante righe mi ha restituito la query
if($stmt->num_rows) { // QUI FUNZIONA TUTTO; FA IL CONTEGGIO G IUSTO
// L'utente è bloccato. Stampo le informazioni relative al blocco.
echo "Gentile utente, siamo spiacenti ma il suo account e stato momentaneamente bloccato.";
echo "<br><strong>Autore Blocco:</strong> " . $stmt->autore_blocco; echo "<br><strong>Motivazione:</strong> " . $stmt->motivo_blocco;
} else {
echo "Libero!!!"; // <-- mi serviva per controllare il blocco >_>
}
$stmt->close();
Ho evitato di scrivere la classe madre ( USER ) e la classe del DB, funzionano correttamente.
Quello che sbaglio è sicuramente la forma con la quale voglio richiamare i campi. Ma quello che vorrei fare io è proprio questo, vorrei utilizzare i risultati raccolti dalla stmt e stamparli tramite echo.
Ho trovato questo metodo sul manuale, ma dovrei specificare i campi e scrivere le variabili, e non è così che voglio fare:
Codice PHP:
if($stmt->num_rows) { // e bla bla...
$stmt->bind_result($autore_blocco);
$stmt->fetch();
echo "Gentile utente, siamo spiacenti ma il suo account e stato momentaneamente bloccato.";
echo "<br><strong>Autore Blocco:</strong> " . $autore_blocco;
Per dettagli, a disposizione. Grazie in anticipo!
[ EDIT ]
A quanto pare, tutti sconsigliano l'uso del * ( ALL ) nella query. Se io non volessi usare tale comando, dovrei scrivere tutti i campi che mi interessano nella query, anche se mi servono tutti, poi faccio un bind_result() e un fetch() sulla $stmt e in effetti funge... Anche se non è proprio il massimo, brutta pecca per le stmt.