Problema Prepared Statements

facco88

Nuovo Utente
12 Giu 2013
3
0
0
Ciao a tutti, voglio utilizzare i prepared statements per reperire i dati dal mio database in un sito php. se io utilizzo come connessione al DB una connessione normale tipo:


Codice:
mysql_connect('localhost','root','root'); 
mysql_select_db('Blog');



non ho problemi e il sito reperisce tutti i post del blog.

Mentre se uso una connessione PDO o MySqli come:


Codice:
//CONNESSIONE MYSQLI  
$mysqli = new mysqli('localhost', 'root', 'root', 'Blog');  

if (mysqli_connect_errno()) {     printf("Connect failed: %s\n", mysqli_connect_error());     exit(); }  

//CONNESSIONE PDO  
try{ $db = new PDO('mysql:dbname=Blog;host=localhost', 'root', 'root');} catch (PDOException $e){     throw new Exception('Connessione fallita: ' . $e->getMessage()); }

e adatto il codice delle query ai nuovi linguaggi, non ricevo alcun errore, ma la paina con i post del sito è vuota, non sembra ricevere alcuna informazione.

Cosa può essere?

grazie mille in anticipo
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, posta come fai la query con mysqli
 

facco88

Nuovo Utente
12 Giu 2013
3
0
0
Codice:
function valido_id($pid){
	
    $pid = (int)$pid;
	
               
                $stmt = $mysqli->prepare("SELECT COUNT(post_id) FROM post WHERE post_id = ?");
                $stmt->bind_param('i', $pid);
                $stmt->execute();
                $stmt->bind_result($count);
                
        if ($count != 1){
            $stmt->close();
		return false;
	}else{
            $stmt->close();
		return true;
	}
	
}



function prendi_posts(){
	
    
        $stmt = $mysqli->prepare("SELECT  post.post_id AS id, 
                         post.post_titolo AS titolo,
                         LEFT(post.post_testo,512) AS anteprima,
                         post.post_utente AS utente,
                         DATE_FORMAT(post.post_data, '%d/%m/%Y %h:%i:%s') AS data,
                         commenti.commenti_totali,
                         DATE_FORMAT(commenti.ultimo_commento, '%d/%m/%Y %h:%i:%s') AS ultimo_commento
                FROM post
                LEFT JOIN (SELECT commenti.post_id,
                                  COUNT(commenti.commento_id) AS commenti_totali,
                                  MAX(commenti.commento_data) AS ultimo_commento
                           FROM commenti
                           GROUP BY commenti.post_id) AS commenti
                ON post.post_id = commenti.post_id
                ORDER BY post.post_data DESC");
                
        $stmt->execute();
                
	$righe = array();
	
        while(($riga = $stmt->fetch()) !== false){
		$righe[] = array(
			'id' => $riga['id'],
			'titolo' => $riga['titolo'],
			'anteprima' => $riga['anteprima'],
			'utente' => $riga['utente'],
			'data' => $riga['data'],
			'commenti_totali' => ($riga['commenti_totali'] === null) ? 0 : $riga['commenti_totali'],
			'ultimo_commento' => ($riga['ultimo_commento'] === null) ? 'Mai' : $riga['ultimo_commento']
			);
	}
        
        $stmt->close();
        
    
	return $righe;
}



function prendi_post($pid){
	
        $pid = (int)$pid;
	
                $stmt = $mysqli->prepare("SELECT post_titolo AS titolo,
                       post_testo AS testo,
                       post_utente AS utente,
                       post_data AS data
                FROM post
                WHERE post_id = ?");
                
                $stmt->bind_param('i', $pid);
                
                $stmt->execute();
                
                
                $post = $stmt->fetch();
                
                $stmt->close();
                
                $post['commenti'] = prendi_commenti($pid);
                
        return $post;        
	
}


function aggiungi_post($nome,$titolo,$testo){
	
   
 
             $stmt = $mysqli->prepare("INSERT INTO post (post_utente,post_titolo,post_testo,post_data) VALUES (?,?,?,?");
            
             $stmt->bind_param('isss', $pid, $utente, $testo, NOW());
            
             $stmt->execute();
        
             $stmt->close();

} 


////////////////////////////////////////
/// FUNZIONI COMMENTI CON PREPARED ///
////////////////////////////////////////

function prendi_commenti($pid){ 
      
     $pid = (int)$pid; 
     
    
    $stmt = $mysqli->prepare("SELECT commento_testo AS testo,
       commento_utente AS utente,
       DATE_FORMAT(commento_data, '%d/%m/%Y %H:%i:%s') AS data
       FROM commenti	
       WHERE post_id = ?");
 
    $stmt->bind_param("i", $pid);
 
    $stmt->execute();
    
    $righe = array();
    
    
    while(($riga = $stmt->fetch()) !== false){
   
   $righe[] = $riga;
   
   }
 
    $stmt->close();

return $righe;
      
      
     }
	



function aggiungi_commento($pid, $utente, $testo){
	
	if(valido_id($pid) === false){
		return false;
	}
	
 
        $stmt = $mysqli->prepare("INSERT INTO commenti (post_id, commento_utente, commento_testo, commento_data) VALUES (?,?,?,?)");
            
             $stmt->bind_param("isss", $pid, $utente, $testo, NOW());
            
             $stmt->execute();
        
             $stmt->close();

        
	return true;

}
 
Discussioni simili
Autore Titolo Forum Risposte Data
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
E problema selezione sfumata Photoshop 2
K [PHP] Problema con variabili concatenate. PHP 1
A Problema filtro fluidifica Photoshop Photoshop 1
H Problema Bordi Scontorno Photoshop 1
O problema con query PHP 4
R Problema installazione Realtek WiFi USB rtl8821 Reti LAN e Wireless 0
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
Y Problema percorso file in rete PHP 1
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 1
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 11
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1

Discussioni simili