J'ai des problèmes pour configurer PDO dans mon framework de site Web.PHP PDO Problème
J'ouvre ma connexion dans « system.php » qui est inclus au début de chaque page avec ce code ici
try {
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass,
array(PDO::ATTR_PERSISTENT => true));
}
catch(PDOException $e) {
echo $e->getMessage();
}
et sur le même fichier (system.ph) Je l'appelle en dessous:
$STH = $DBH->query('SELECT value FROM settings WHERE type="theme"');
$STH->setFetchMode(PDO::FETCH_ASSOC);
while($row = $STH->fetch()) {
define('THEME', 'themes/'.$row['value'].'/');
}
Qui fonctionne parfaitement!
Cependant, quand je l'appelle la même requête que précédemment sur "default.php"
(qui est inclus dans le fichier), il revient avec:
Notice: Undefined variable: DBH in /pages/default.php on line 15
Fatal error: Call to a member function query() on a non-object
in /pages/default.php on line 15
ce que je fais mal ici?
default.php
<?php
$STH = $DBH->query('SELECT value FROM settings WHERE type="theme"');
$STH->setFetchMode(PDO::FETCH_ASSOC);
while($row = $STH->fetch()) { echo $row['value']; }
?>
Pouvez-vous nous montrer default.php? –
C'est exactement le même extrait. query ('SÉLECTIONNER la valeur FROM settings WHERE type = "theme"'); \t $ STH-> setFetchMode (PDO :: FETCH_ASSOC); \t while ($ row = $ STH-> fetch()) { \t \t echo $ row ['valeur']; ?> –
cela fonctionne-t-il si vous encapsulez le code default.php dans une définition de fonction, et appelez cette fonction dans le script principal? –