Contare il numero di righe con php5

Monital

Utente Attivo
15 Apr 2009
778
2
18
raga aiutatemi epr favore che sto impazzendo

non accetta mysql_num_rows e le ho provate di tutte le maniere anche con COUNT(*)

non c'è veerso di farmi restituire il numero di righe che risultano da una query

sopratutto se la query non trova record deve restituirmi 0

ne sapete qualcosa?
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
è una semplice query

queste le due prove più significative
PHP:
$sqlquery = "SELECT * FROM tabella  WHERE ID != '' $var";
$res = mysql_query($sqlquery);
if(mysql_num_rows($res))   $number2=mysql_num_rows($res);
if($number2>70)		{		$nr=70;			}

PHP:
$sqlquery = "SELECT COUNT(*) as numTot FROM tabella  WHERE ID !='' $var  ";
$res = mysql_query($sqlquery);
$row = mysql_fetch_array($res);
$number2 = $row['numTot'] ;

if($number2>70)		{		$nr=70;			}
PHP:
$sqlquery = "SELECT *  FROM tabella WHERE  $var ";
$res = mysql_query($sqlquery);
while($row = mysql_fetch_array($res)){
$ID= $row['ID'] ;
}
$number2=count($ID);
if($number2>70)		{		$nr=70;			}

ho usato anche un if($result) ma nisba non c'è modo di contare le righe risultanti anche se sono pari a 0

in $var c'è semplciemente un AND x=y se si verifica una variabile.

Mi sono già scontrato con quest'errore e di solito lo da quando la query è vuota o un array è vuoto. In questo caso non ho array all'interno della query e l'errore è sempre il solito
se uso fetch array mi restituisce
PHP:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in

se uso mysql_num_rows

PHP:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in

che poi mysql_num_rows era utilissimo e non ho ancora capito con cosa lo hanno sostituito MAH!

ho effettuato il var_dump della query ed è tutto in ordine
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
BOH

if(mysql_num_rows($res)) $number2=mysql_num_rows($res);

è andato. MISTERO.

ma siamo che siamo in php 5 non ho capito con cosa è stato sostituio mysql_num_rows perchè mi è capitato diverse volte che mi segnalava errore.

ad esempio ho letto enl manuale che nelle prossime versioni mysql_fetch_array verrà deprecato. ed infatti a volte mi da errore sui valori nulli.

prima no.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto una cosa ID è una prymary key autoincrement?
se si sarà sempre diversa da vuota.
poi non ho capito bene quel $var che dici che è AND x=y, cosa è x e cosa y? x un nome di un campo)penso di si)? y è un numero o una stringa?
se ID è primarykey e autoncrenment non serve ID != '' perche non sarà mai vuota e quindi nemmeno l'AND
se y è un numero intero può andare bene, se è una stringa deve essere x='y'
per cui
la querystringa dovrebbe essere
PHP:
<?php
//.....
$sqlquery = "SELECT * FROM tabella  WHERE $var";
//qui metti un var dump per verificare la querystringa
var_dump($sqlquery);//e guarda se viene scritta giusta
//poi il resto
$res = mysql_query($sqlquery);
$number2=mysql_num_rows($res);//a che ti serve quell'if?
//se devi verificare che ci siano righe basta
if($number2 == 0){
	//quello che devi fare se non ci sono record cercati
}else{
	//quello che devi fare se ci sono
	if($number2 > 70){
		$nr=70;
	}
}
//....
?>
questo se il mio ragionamento sull'ID e sul x=y sono giusti.
poi come saprai le query mysql sono deprecate da php5, ma non abolite quindi per ora dovrebbero funzionare
comunque conviene guardare (e poi usare) la classe PDO
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
il manuale dice questo
This extension is deprecated as of PHP 5.5.0, and will be removed in the future.
quindi verifica bene che versione della 5 hai
in ogni caso per l'estensione mysqli il sostituto è semplicemente mysqli_num_rows
non dovrai usare mysql_connect ma mysqli_connect
il passagio non è poi cosi traumatico ma è essenziale studiarsi il manuale a riguardo
 
Ultima modifica:

Monital

Utente Attivo
15 Apr 2009
778
2
18
il manuale dice questo

quindi verifica bene che versione della 5 hai
in ogni caso per l'estensione mysqli il sostituto è semplicemente mysqli_num_rows
non dovrai usare mysql_connect ma mysqli_connect
il passagio non è poi cosi traumatico ma è essenziale studiarsi il manuale a riguardo

è insomma

ci ho messo due anni a far su questa specie di software tutto in maniera autodidatta e con i vostri preziosi consigli.

rimettermi daccapo sul PDO o msqli contando che ho quasi 200 file da modificare mi viene male solo al pensiero. sono 4 giorni che modifico dal php 4 al php 5.3

mannaggia

@borgo si le intuizioni sono giuste tranne per l?ID che non è autoincrement ma è primary key.

in realtà none sistono ID vuote però $var in pratica se esiste una variabile diciamo nome: allora $var è uguale a "AND NOME =$nome se none siste è uguale a ''

quindi peor ovviare a quell'AND ho messo ID!='' dopo il WHERE perchè tanto vuota non lo sarà mai.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
e perchè non togli l'and falla variabile?

@criric: io ormai... ma tu sei giovane quindi ti auguro che anche le pdo vengano deprevcate ;););)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
@Borgo
scommetto che quando le pdo saranno deprecate tu sarai qui pronto a rilanciare la programmazione procedurale :fonzie:
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
ciao
e perchè non togli l'and falla variabile?

@criric: io ormai... ma tu sei giovane quindi ti auguro che anche le pdo vengano deprevcate ;););)

bè si volendo solo che poi se la variabile non esiste mi resta il where appeso.

e ci sono più variabili contententi degli and.

io onestamente ho fatto una rpova con pdo su due fiel ed effettivamente mi sembra anche + velcoe da scrivere ma su 2000 file mi viene da piangere. sopratutto per come l'ho costruito, tipo il file con tutte le funzioni di cui con questo cambio ne ho già dovute eliminare due.

Inoltre ho patchato un software tedesco che per entrarci mamma mia che inferno ho passato. ad esempio lì in quasi un anno è sempre filato tutto liscio. Con il cambio mi ha presentato diversi errori quali un
semplice fclose($file) e pensare che aprivo il file in più occasioni ed ho dovuto eliminare tutti gli fclose. praticamente lo script gira tutta la sessione sempre con sti file aperti hihihiihi

magari per chi come voi lo fa di mestiere o lo ha studiato è anche giusto ed intelligente stare al passo ma per chi come me lo fa solo per passione mi vien la pelle d'oca. quando al cambio iniziavano a saltare gli mysql_fetch_array e nel manuale ho letto che nelle successive sarà deprecato sono quasi svenuto buahauhauahu
 
Ultima modifica:

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Borgo con pdo puoi lavorare su più dbms, hai uno standard e un concetto di elaborazione della query migliore e in più è anche leggermente più veloce quindi perché rimanere incollato al vecchio mysql, per tradizione :p?
 
Discussioni simili
Autore Titolo Forum Risposte Data
asevenx Contare numero di righe in un form dinamico Javascript 5
C Contare numero record uguali Database 3
xone [PHP] Contare numero dei giorni tra data_in e data_out PHP 11
S [RISOLTO]php contare numero delle query PHP 1
D Contare numero div con una determinata classe Javascript 2
R Contare il numero di click su un link PHP 2
M Contare totale risultati tabella in un periodo di tempo PHP 5
A Contare gli elementi di un array PHP 13
maxnegri Contare sessioni aperte e creare condizione PHP 1
L contare record uguali in file csv PHP 4
B [MySQL] contare quante un oggetto e' presente MySQL 2
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
P [PHP] Contare quante volte uno stesso id si ripete nella tabella PHP 12
P [PHP] Contare i mesi con timestamp. PHP 8
A Contare n° totale oggetti da mysql PHP 5
asevenx [Javascript] [AngularJS] contare opzioni selezionate di una select in un elenco ng-repeat Javascript 0
G [ACCESS2007]: contare li ultimi record con lo stesso valore in un campo, finchè il valore non cambia MS Access 2
zorro [PHP] Contare i record di una tabella PHP 6
F Contare le righe con php ad oggetti MySQL 0
F Miglior metodo per contare le righe di una query MySQL 2
S Contare valori uguali in una colonna PHP 2
N Contare post MySQL 2
L contare nodi figli di un determinato nodo madre XML 0
H Contare file presenti nella pagina PHP 3
L Contare determinati valori che si ripetono in una tabella per un detemrinato ID MySQL 2
M contare record db con valore specifico PHP 1
Shyson Contare i caratteri user e dominio Javascript 57
criric Contare le settimane di un mese Snippet PHP 3
nim contare record uguali in tabella PHP 10
anthares Contare record in tabella secondo certe condizioni PHP 21
Monital Contare valori uguali di un array e dividerli in una stringa PHP 12
nim contare frasi che si ripetono PHP 10
A contare iniziali dei nomi Java 3
G contare e sommare dopo JOIN Database 8
M non contare gli accessi dal tuo pc Supporto Mr.Webmaster 1
S Come contare i Download file .zip su html HTML e CSS 10
G scomponi un numero intero come la somma di 20 numeri interi casuali maggiori di zero diversi fra loro Javascript 1
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
G Numero zero null non deve visualizzare nulla PHP 0
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
M Numero random non ripetitivo Java 2
Cosina Mostrare immagini da una cartella, ma solo un numero definito PHP 12
Tommy03 Select in ordine per numero di record MySQL 7
C analisi numero parole Programmazione 2
A [PHP] calcolo numero di ore effettuate PHP 7
S [PHP] Convertire un orario in un numero decimale PHP 2
M [PHP] Visualizzare un array partendo dal numero 1 e non 0 PHP 5
L Xampp, wordpress e numero di porta Web Server 1
S [MS Access] trasformare un numero in lettere in un report MS Access 1

Discussioni simili