$q = $db->prepare("select * from tablo where id=?");  

$q->execute(array($id));  

if($q->rowCount()== 0){
header("Location: index.php");
}else{ 
$yaz = $q->fetch(PDO::FETCH_ASSOC);  
print_r($yaz);
}
prepare kullanımı yanlış bu şekilde kullanmanız daha mantıklı olacaktır.

Ayrıca pdo::fetch_num mysql_num_rows'un yaptığı işi yapmıyor tam olarak onun yerine rowCount kullanıyorum ben.