ritorno sul problema perchè ho fatto un passo avanti.
allora, io ho una classe che istanzio per connettermi:
qui ho i parametri di connessione e qui mi funge tutto, nel senso che se sbaglio ad esempio la password quando provo ad andare sulla home mi compare un bel messaggio di errore.codice:<?php class Config { private $pdo; private static $instance; private function __construct() { try { $this->pdo = new PDO('mysql:host=localhost;dbname=db', "user", "pwd", array( PDO::ATTR_PERSISTENT => TRUE )); } catch (PDOException $e) { echo '<script type="text/javascript">alert("' . $e->getMessage() . '");</script>'; // print "Error!: " . $e->getMessage() . " "; die(); } } public static function getInstance() { if (!isset(self::$instance)) { $c = __CLASS__; self::$instance = new $c; } return self::$instance; } public function __clone() { trigger_error('Clone is not allowed.', E_USER_ERROR); } public function getPdo() { return $this->pdo; } ...........
nella home faccio così:
e fin qua tutto bene.codice:include_once 'lib/config.php'; $config = Config::getInstance();
passiamo alla pagina.
io ho questa funzione che usa $config:
e poi la funzione la richiamo con un foreach.codice:function selectEntrate() { global $config; try { $result = $config->getPdo()->query("SELECT * FROM entrate_vie"); return $result; } catch (Exception $e) { echo '<script type="text/javascript">alert("' . $e->getMessage() . '");</script>'; } }
se qua sbaglio la query nn esce assolutamente nulla, come se nel catch nn entrasse mai.

Rispondi quotando