Prepared Statement e num_rows postato il 04/01/2009 16:09:27 nel forum programmazione, gdrcd e open source
Utilizzando i cosiddetti "prepared statement" -a disposizione nell'interfaccia (mysqli) di MySql- per eseguire le mie queries sul db, mi trovo ora davanti ad un punto morto: non riesco ad ottenere dal resultset il numero di righe recuperate dal db.
In breve, utilizzando il classico $result->num_rows (dove $result č il risultato della query) mi ritrovo sempre come valore 0.
Ho cercato un po' in rete, ma non ho trovato nulla al riguardo (la funzione affected_rows, per le query di aggiornamento o inserimento, funziona a dovere).
Ora, volendo io evitare di "fetchare" tutti risultati ed utilizzare una variabile d'appoggio per memorizzare il numero di righe recuperate, chiedo a qualcuno di voi se si č mai imbattuto nello stesso problema, e come ne č uscito.
Grazie per l'aiuto. :D
Pagine → 1
04/01/2009 16:28:47
mmm prova a scriverci la tua query..
io di solito faccio cosi
$query = mysql_num_rows(mysql_query("SELECT Count(qualcosa) FROM qualcosa"));
prova cosi e vedi se va..
04/01/2009 16:36:54 e modificato da mitsunari il 04/01/2009 16:55:46
Per l'appunto, sottolineo che utilizzo i prepared statement, per questioni di velocitŕ nell'esecuzione (il percorso di accesso del database per la singola query viene creato una sola volta, mentre utilizzando la funzione mysql_query il percorso d'accesso viene creato ogni volta che la funzione viene richiamata, con conseguente spreco di tempo -parlo di una query inserita in un loop che fa centinaia di volte le stesse operazioni), e di sicurezza (i prepared statement risolvono in gran parte i problemi di SqlInjection).
Non eseguo le istruzioni direttamente con mysql_query, ed il mio problema sta proprio lě.
04/01/2009 17:55:34
ah scusa.. nona vevo letto bene.. mi spiace ma non saprei come aiutarti ^^
04/01/2009 18:43:35
Problema risolto.
Prima di "fetchare" i risultati, dovevo invocare il metodo store_result, il quale bufferizza i risultati ottenuti dalla query in un resultset.
Invocato il metodo, si rende disponibile la funzione num_rows, e le altre disponibili eseguendo la query direttamente.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
mirmidone ha risposto alla discussione: Una land con forti elementi d'ispirazione di Dragonero?