Visualizzazione dei risultati da 1 a 5 su 5

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412

    Classi, variabili globali, metodi, etc... Perchè non mi funziona questo codice?

    Ho creato una classe per connettersi al database e prelevare i vari messaggi. Questo il codice

    Codice PHP:
    require('config.inc.php'); //contiene la dichiarazione delle variabili dedite alla connessione al DB

    class gestioneMessaggi {
        
        private  
    $db;
      
      function 
    connettiAlDatabase()
      {     
        global 
    $db_name$db_host$db_user$db_password//queste variabili sono dichiarate all'interno di config.inc.php
        
         
    try {
           
    $this->$db = new PDO('mysql:host='.$db_host.';dbname='.$db_name$db_user$db_password);
           
    $this->$db->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
          } 
          catch(
    PDOException $e) {
              echo 
    'ERROR: ' $e->getMessage();
            } 

          echo(
    'ok'); //<----ATTENZIONE A QUESTO!
        
         
    }  

       
    //..altro codice

    Nel file index.php ho scritto
    Codice PHP:
    <?php

    require('gestioneMessaggi.php'); //incorporo la classe sopra riportata

    $gestioneMessaggi = new gestioneMessaggi();
    $gestioneMessaggi -> connettiAlDatabase();

    ?>
    Il problema è che l'"ok" generato dall'echo non viene stampato a video..E non so nemmeno per quale motivo in quanto non mi vengono segnalati gli errori (e a proposito, come posso ovviare al problema?).
    Comunque facendo prove su prove ho capito che il problema risiede nel modo in cui tento di accedere alla variabile privata $db. Infatti se invece di scrivere
    Codice PHP:
      $this->$db = new PDO(etc...) 
    scrivo
    Codice PHP:
      $db = new PDO(etc...) 
    l'ok mi viene correttamente stampato..
    Preciso infatti che è la prima volta che uso un sistema OO in PHP, quindi magari ho fatto un errore grossolano, ma dove?
    Ultima modifica di American; 21-03-2014 a 11:01

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 © 2025 vBulletin Solutions, Inc. All rights reserved.