Domanda su SELECT

di il
3 risposte

Domanda su SELECT

Ciao,
io vorrei chiedere una delucidazione, diciamo così, concettuale a partire dal metodo che posto qua sotto:
public function get_email(){
   $query = "SELECT email FROM isctnstats
	     WHERE id='".$this->get_id()."'";
   $result = sqlsrv_query($this->conn, $query) or die('Connessione indisponibile, riprovare più tardi');
   if(sqlsrv_has_rows($result))
    {
     $row = sqlsrv_fetch_array($result);
     return $row['email'];
    }
   return FALSE;
  }
La mia domanda è:
Il puntatore $result punta a tutti i valori email oppure alle righe che hanno id=$this->get_id() ?
In pratica in memoria sono salvati tutti i valori email presenti in tabella con id come sopra o invece tutte le righe della tabella che hanno id=$this->get_id() ?
Se fosse vero quest'ultimo caso non sarebbe più corretto scrivere
SELECT * FROM isctnstats
invece di
SELECT email FROM isctnstats?
In sostanza con SELECT cosa si salva in memoria? Forse se scrivo "SELECT email FROM isctnstats"
salvo tutti vettori composti da due componenti "email" ed id=$this->get_id() ?
Spero di essermi spiegato perchè la cosa mi è un po' nebulosa.
Ciao.

3 Risposte

  • Re: Domanda su SELECT

    Stando strettamente sul concetto SQL, se tra le colonne indicate in SELECT metti solo email avrai come colonna solo quella.
    il numero di record dipende da come è strutturata isctnstats rispetto alla condizione che poni in WHERE.
    Quindi la differenza tra SELECT * FROM... e SELECT email FROM... è evidentemente molto diversa, nel primo caso estrai tutte le colonne della tabella nel secondo solo la colonna email.
  • Re: Domanda su SELECT

    > SELECT * FROM isctnstats

    creo un recordset che mi visualizza tutti i campi

    invece di
    SELECT email FROM isctnstats?

    creo un recordset che mi visualizza solo il campo email

    In sostanza con SELECT cosa si salva in memoria?
    salvo tutti vettori composti da due componenti "email" ed id=$this->get_id() ?

    se poi aggiungi
    select ... where id=$this->get_id()

    filtro in base a id = ...

    get_id() cosa intendi? una funzione che ti restituisce un id vero?
  • Re: Domanda su SELECT

    Grazie per le risposte.
    @pfmarro, la funzione get_id() recupera l'id di registrazione dell'utente che in quel momento sta operando; quell'id viene poi utilizzato come filtro tra tutti i valori email presenti nella tabella isctnstats.
Devi accedere o registrarti per scrivere nel forum
3 risposte