Bonjour/Bonsoir,
J'utilise un plugin personnel qui ne fonctionne plus avec la dernière version
Le message d'erreur provient de cette ligne
$mysqli = new mysqli("localhost", "yyyyy", "745t", "iiir__ggg");
Comment est-il possible de récupérer une connexion existante pour faire
exécuter la requête ?
Je n'ai pas ce souci en local.
Merci d'avance
Version de Piwigo: dernière
Version de PHP: 5.6.8
Version de MySQL:
URL Piwigo: http://marcophilie56.free.fr/galerie
Hors ligne
Bonjour
tu veux faire une requête sur la même base que piwigo ?
tu fais quoi dans ton plugin perso ?
En ligne
Oui je fais une requête sur une table personnelle que j'ai mis dans la base piwigo
Voici un exemple :
$var4 = urldecode(addslashes($params['commune']));
$result = $mysqli->query("SELECT histoire_locaux FROM 56_histoire_bureaux WHERE Nom_Galerie like '" . $var4 . "'");
Dernière modification par marcophilie56 (2016-03-14 19:11:48)
Hors ligne
il faudrait nous montrer un peut plus de code, moi je parie que la meme fonction est utilisée pour plein d'elements que vous ouvrez à chaque fois une nouvelle connexion.
Sinon si c'est la même base que Piwigo et que l'utilisateur MySQL a les droits utilisez simplement les fonctions "pwg_*" à la place, pour utiliser l'unique connexion de Piwigo
https://github.com/mistic100/Piwigo-Ske … to.php#L35
Hors ligne
Lors de l'ouverture d'une page, j'appelle effectivement une requête spécifique en relation avec la page appelante
Par exemple les pages Bureaux de poste contienne ces paramètres ci-dessous :
<!-- commune: ALLAIRE --> (en changeant à chaque fois le nom de la commune)
<!-- categorie: Poste -->
ce qui me permet d'appeler la requête Poste pour la commune d'Allaire
Voici un exemple complet pour les pages Bureau de Poste
$var4 = urldecode(addslashes($params['commune']));
$result = $mysqli->query("SELECT historique FROM 56_histoire_bureaux WHERE Nom_Galerie like '" . $var4 . "'");
$template->set_filenames(array( 'body' => dirname(__FILE__) . '/poste.tpl'));
$template->assign( array( 'NB_USERS' => mysqli_num_rows($result) ));
while( $row = mysqli_fetch_array($result) )
{
$template->append('users', array(
'HISTOIRE' => utf8_encode ($row['historique']),
));
}
$desc = $template->parse('body', true);
$mysqli->close();
Hors ligne
Bonjour
je dirais
$q = "SELECT historique FROM 56_histoire_bureaux WHERE Nom_Galerie like '" . $var4 . "'";
$result = pwg_query($q);
pour remplacer
$result = $mysqli->query("SELECT historique FROM 56_histoire_bureaux WHERE Nom_Galerie like '" . $var4 . "'");
En ligne
Merci beaucoup de votre aide
La solution fonctionne parfaitement
Hors ligne