Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [PDO] non trovato

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323

    [PDO] non trovato

    Salve, perché questo codice non mi da nessun errore etc.. però non mi fa venire fuori 404 che per me sta per non trovato..

    la tabella è vuota.. come mai?

    codice:
    <ul>
    		<li id="categories">
    			<h2>Galleria</h2>
    			<ul>
    <?php 
    				$stmt = $db->prepare('SELECT * FROM photo_categories ORDER BY byorder DESC'); 
    				
    				$stmt->execute();
    				
    				$row = $stmt->fetch();
    				 
    				if($row > 0)
    				{
    					echo '<li>404</li>';
    				
    				}else
    				
    				{
    					while(($row = $stmt->fetch()) !== false)
    					{
    					?>
    					<li><a href="album_categories.php?id=<?php echo "".$row["id"].""; ?>"><?php echo "".$row["title"].""; ?></a></li>
    					<?php
    					}
    
    
    				}
    			?>			</ul>
    		</li>
    		</ul>
    grazie mille. buona domenica

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Prova

    if ($row === false)

    ci sono 3 =
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    allora perché qua con una query più complessa, mi funziona?

    Codice PHP:
    try {


        $query = "SELECT users.username as _username , post_categories.title as _title , post.*, DATE_FORMAT(post.data_reg,'%d/%M/%Y ore %H:%i') as 'data_it' FROM users 
           INNER JOIN post 
              ON users.id = post.id_users INNER JOIN post_categories
              ON post_categories.id = post.id_categories WHERE post.active=1 and post.id='".$id."'";
        $stmt = $db->prepare( $query );
        
        
        $stmt->bindParam(':id', $_GET['id'], PDO::PARAM_INT);
        $stmt->execute();
        $row = $stmt->fetch();
        if($row > 0)
        {
        
            $id = $row['id'];
            $content = $row["content"];
            $title = "Post : ".$row["title"];
            $layout->setTitle($title);
            $layout->startBody();
            ?>
              <div class="post">
               <div class="title">
             <h2><?php echo $row["title"]; ?></h2>
             <p><small>Postato <?php echo $row["data_it"]; ?> by <?php echo $row["_username"]; ?></small></p>
             </div>
             <hr style="background-color:#ffbf18;height:5px;">
             <div class="entry">
            <?php echo bbcode_complete($row['content']); ?>
             </div>


             </div>
            <?php
            $layout
    ->endBody();    
            
        }else
        {
            
    $err_title "Error : 404 - Pagina Non trovata";
            
    $layout->setTitle($err_title);
            
    $layout->startBody();
            echo 
    '<h2 align="center">Error : 404 - Pagina Non trovata</h2>';
            
    $layout->endBody();
        }


        }catch(
    PDOException $exception){ //to handle error
        
    echo "Error: " $exception->getMessage();
    }

    Come mai?

    idea?

    grazie mille.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    L'url è giusto?
    No

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Quote Originariamente inviata da LedGiallo Visualizza il messaggio
    allora perché qua con una query più complessa, mi funziona?

    Codice PHP:
    try {


        $query = "SELECT users.username as _username , post_categories.title as _title , post.*, DATE_FORMAT(post.data_reg,'%d/%M/%Y ore %H:%i') as 'data_it' FROM users 
           INNER JOIN post 
              ON users.id = post.id_users INNER JOIN post_categories
              ON post_categories.id = post.id_categories WHERE post.active=1 and post.id='".$id."'";
        $stmt = $db->prepare( $query );
        
        
        $stmt->bindParam(':id', $_GET['id'], PDO::PARAM_INT);
        $stmt->execute();
        $row = $stmt->fetch();
        if($row > 0)
        {
        
            $id = $row['id'];
            $content = $row["content"];
            $title = "Post : ".$row["title"];
            $layout->setTitle($title);
            $layout->startBody();
            ?>
              <div class="post">
               <div class="title">
             <h2><?php echo $row["title"]; ?></h2>
             <p><small>Postato <?php echo $row["data_it"]; ?> by <?php echo $row["_username"]; ?></small></p>
             </div>
             <hr style="background-color:#ffbf18;height:5px;">
             <div class="entry">
            <?php echo bbcode_complete($row['content']); ?>
             </div>


             </div>
            <?php
            $layout
    ->endBody();    
            
        }else
        {
            
    $err_title "Error : 404 - Pagina Non trovata";
            
    $layout->setTitle($err_title);
            
    $layout->startBody();
            echo 
    '<h2 align="center">Error : 404 - Pagina Non trovata</h2>';
            
    $layout->endBody();
        }


        }catch(
    PDOException $exception){ //to handle error
        
    echo "Error: " $exception->getMessage();
    }

    Come mai?

    idea?

    grazie mille.
    Questo non lo sapevo e per poter debuggare bisogna andare passo per passo.
    Comunque se guardi quello che hai postato vedrai che hai invertito i test.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    ciao, in questo modo e andato .. forse quello che ti ho postato perché ha il bindparam e invece quello che sto scrivendo ora non lo ha.

    dimmi se lo posso scrivere solo con una query.. perché cosi non e che mi garba molto...

    codice:
    <ul>
    		<li id="categories">
    			<h2>Galleria</h2>
    			<ul>
    <?php 
    				$stmt = $db->prepare('SELECT * FROM photo_categories ORDER BY byorder DESC'); 
    							
    				$stmt->execute(); 
    				
    				$row = $stmt->fetch();
    				
    				if($row > 0)
    				{
    					$stmt = $db->prepare('SELECT * FROM photo_categories ORDER BY byorder DESC'); 
    					$stmt->execute(); 
    					
    					while(($row = $stmt->fetch()) !== false)
    					{
    					?>
    					<li><a href="photo_categories.php?id=<?php echo "".$row["id"].""; ?>"><?php echo "".$row["title"].""; ?></a></li>
    					<?php
    					}
    				}else
    				
    				{
    					
    					echo '404';
    				
    				}
    				?>
    						</ul>
    		</li>
    		</ul>
    idea?

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Premetto che non conosco PDO. Quindi potrebbe esserci un metodo equivalente a mysql_num_rows().
    codice:
    <ul>
            <li id="categories">
                <h2>Galleria</h2>
                <ul>
    <?php 
                    
                    $ok = false;
                        $stmt = $db->prepare('SELECT * FROM photo_categories ORDER BY byorder DESC'); 
                        $stmt->execute(); 
                        
                        while(($row = $stmt->fetch()) !== false) {
                          $ok = true;
                        ?>
                        <li><a href="photo_categories.php?id=<?php echo "".$row["id"].""; ?>"><?php echo "".$row["title"].""; ?></a></li>
                        <?php
                        }
                    
                     if (!$ok) {
                        
                        echo '404';
                    
                    }
                    ?>
                            </ul>
            </li>
            </ul>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    aspetta che sto risolvendo il problema.... sto usando count(), con la prima query e poi l'altra faccio il fetch.

    sto leggendo:
    http://php.net/manual/it/pdostatement.rowcount.php

    ciao a dopo

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Quote Originariamente inviata da LedGiallo Visualizza il messaggio
    aspetta che sto risolvendo il problema.... sto usando count(), con la prima query e poi l'altra faccio il fetch.

    sto leggendo:
    http://php.net/manual/it/pdostatement.rowcount.php

    ciao a dopo
    No. Basta una sola query. Prendi il rowcount dalla query.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    infatti ho fatto cosi e funziona:

    codice:
    <ul>		<li id="categories">
    			<h2>Galleria</h2>
    			<ul>
    <?php 
    			$sql = "SELECT COUNT(*) FROM photo_categories";
    			if ($res = $db->query($sql)) {
    
    
    				/* Check the number of rows that match the SELECT statement */
    			  if ($res->fetchColumn() > 0) {
    
    
    					/* Issue the real SELECT statement and work with the results */
    					 $sql = "SELECT * FROM photo_categories ORDER BY byorder ASC";
    				   foreach ($db->query($sql) as $row) {
    					   echo '<li><a href="photo_categories.php?id='.$row["id"].'">'.$row["title"].'</a></li>';
    					 }
    				}
    				/* No rows matched -- do something else */
    			  else {
    				  print "No rows matched the query.";
    				}
    			}
    			
    ?>
    						</ul>
    		</li>
    		</ul>
    ti ringrazio molto, buona serata.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.