problema con mysql_num_rows

mickey123

Utente Attivo
17 Gen 2015
59
0
6
Ciao a tutti,

sono alle prese con la funzione mysql_num_rows e non riesco a capire cos'è che non gli va giù...

Il codice che sto scrivendo è per la pagina di approfondimento di uno degli articoli di un blog e quando chiamo mysql_num_rows mi restituisce questo errore:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Users\xxxxxxxx\articolo.php on line 22
Nessun articolo presente.


e il codice della pagina di approfondimento chiamata articolo.php

PHP:
<?php  
		
			$id_articolo = $_GET['id_art'];
			
			include "config.php";
			
			$query = mysql_query("SELECT * FROM articoli WHERE id = $id_articolo");
			
			if (mysql_num_rows($query) > 0) {
				while ($res = mysql_fetch_array($query)) {
					
					echo $res['corpo_articolo'];
				}
			} else  {
				
				echo "Nessun articolo presente.";
			}
		
		?>

che cos'è che non faccio!?! :( grazie mille
 
Ultima modifica di un moderatore:
Prova così.. Vedi se fa al caso tuo..
Se ho capito quello che vuoi ottenere..
PHP:
<?php 
	try
		  {
			$sql ='SELECT COUNT(*) FROM articoli WHERE id = $id_articolo';
			$s = $pdo->query($sql);
		  }
		  catch (PDOException $e)
		  {
			$error = 'Error: ' . $e->getMessage();
			include 'dberror.php';
			exit();
		  }     
		  
		  $row = $s->fetch();
		  
		  if ($row[0] > 0){
			  //qui ci metti il ciclo.. 
		  }else{
			  echo "Nessun articolo presente.";
		  }

?>
 
Eh ma, è una sintassi che non conosco ancora quella che dici tu, cos'è quella col PDO?

Io volevo scrivere il codice nella maniera classica :) riesci ad aiutarmi? Praticamente ricevo un errore su mysql_num_rows e non so perchè...


Prova così.. Vedi se fa al caso tuo..
Se ho capito quello che vuoi ottenere..
PHP:
<?php 
	try
		  {
			$sql ='SELECT COUNT(*) FROM articoli WHERE id = $id_articolo';
			$s = $pdo->query($sql);
		  }
		  catch (PDOException $e)
		  {
			$error = 'Error: ' . $e->getMessage();
			include 'dberror.php';
			exit();
		  }     
		  
		  $row = $s->fetch();
		  
		  if ($row[0] > 0){
			  //qui ci metti il ciclo.. 
		  }else{
			  echo "Nessun articolo presente.";
		  }

?>
 
Warning: mysql_num_rows() expects parameter 1 to be resource
vuol dire che il parametro $query non è true e quindi che la query è andata in errore.
Controlla l'esecuzione con mysql_error(), poi come suggerito passa ad un estensione più aggiornata come PDO o MYSQLI
 

Discussioni simili