Erreur PHP incompréhensible
Résolu/Fermé
petitmarco
Messages postés
44
Date d'inscription
mardi 3 octobre 2006
Statut
Membre
Dernière intervention
19 décembre 2010
-
9 sept. 2008 à 14:40
petitmarco Messages postés 44 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 19 décembre 2010 - 9 sept. 2008 à 15:21
petitmarco Messages postés 44 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 19 décembre 2010 - 9 sept. 2008 à 15:21
A voir également:
- Erreur PHP incompréhensible
- Erreur 0x80070643 - Guide
- Retour a la ligne php ✓ - Forum PHP
- Code erreur f3500-32 ✓ - Forum Bbox Bouygues
- Erreur 10016 epson - Forum Imprimante
- Erreur c2002 western union ✓ - Forum Vos droits sur internet
6 réponses
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
206
9 sept. 2008 à 14:55
9 sept. 2008 à 14:55
Salut
Apparement c'est un souci entre le code (un passage de parametre) et la configuration du serveur
Comme dis dans l'erreur deux solutions s'offrent a toi :
- Modifier la façon dont le parametre est passé
- Activer le mode de passage actuel grace au fichier INI
Je te conseille la premiere solution etant donné qu'il est aussi precisé que : "However, future versions may not support this any longer" Qui veut dire que dans les futures versions cette fonction ne sera plus du tout supportée !
Si tu ne sais pas trop comment faire colle ici le code qui ce trouve environ ligne 74 de category.php
Apparement c'est un souci entre le code (un passage de parametre) et la configuration du serveur
Comme dis dans l'erreur deux solutions s'offrent a toi :
- Modifier la façon dont le parametre est passé
- Activer le mode de passage actuel grace au fichier INI
Je te conseille la premiere solution etant donné qu'il est aussi precisé que : "However, future versions may not support this any longer" Qui veut dire que dans les futures versions cette fonction ne sera plus du tout supportée !
Si tu ne sais pas trop comment faire colle ici le code qui ce trouve environ ligne 74 de category.php
petitmarco
Messages postés
44
Date d'inscription
mardi 3 octobre 2006
Statut
Membre
Dernière intervention
19 décembre 2010
7
9 sept. 2008 à 15:02
9 sept. 2008 à 15:02
OK, merci de ta réponse voici le code PHP - (pour info, ce n'est pas moi qui l'ai écrit, c'est une source gratuite)
la ligne 74 est en gras en bas
$results=Pager_Wrapper_DB(&$db, $sSQL, $params);
------------------------
<?php
defined( 'IN_KB' ) or die( 'Restricted access' );
// ################### BACK END ######################
require_once 'Pager/Pager.php';
require_once 'Pager/Pager_Wrapper.php';
$id = ( empty($_GET['id']) ) ? 1 : (int)$_GET['id'];
// ################### CATEGORY NAME ######################
$path=$Category->breadcrumb($id,0);
$sSQL='SELECT cName FROM '.PREFIX.'categories WHERE cID='.$id;
$result=$db->query($sSQL);
$rs=$result->fetchRow();
$catTitle=$rs['cName'];
$result->free();
// ################### SUBCATEGORYS ######################
$sSQL='SELECT cID, parent_id, cName,cDescription FROM '.PREFIX.'categories WHERE cDisplay="Y" AND parent_id='. $id.' ORDER BY cORDER ASC, cName ASC';
$result = $db->query($sSQL);
$catrows = $result->numRows();
$category = array();
while ($row = $result->fetchRow())
{
$category[]=$row;
}
$result->free();
$template->assign('category',$category);
$template->assign('catrows',$catrows);
// ################### ARTICLES ######################
$sSQL="SELECT article_id FROM ".PREFIX."article2cat WHERE category_id=".$id;
$result = $db->query($sSQL);
$totalItems = (int)$result->numRows();
$count=1;
$aID='';
while ($row = $result->fetchRow())
{
if($count<$totalItems)
{
$comma=", ";
}
else
{
$comma="";
}
$aID.=$row['article_id']. $comma;
$count++;
}
if($aID<>"")
{
$sSQL='SELECT aID,aTitle,aShortDesc,aDate,aHits FROM '.PREFIX.'articles WHERE aID IN ('.$aID.') AND aDisplay="Y" ORDER BY aDate';
$params = array(
'mode' => 'Sliding',
'perPage' => $KB->settings['max_search'],
'delta' => 2,
'urlVar' => 'num',
'spacesBeforeSeparator' => '1',
'spacesAfterSeparator' => '1',
);
$results=Pager_Wrapper_DB(&$db, $sSQL, $params);
}
$template->assign('data', $results['data']);
$template->assign('maxPage', $results['page_numbers']['total']);
$template->assign('pageNum', $results['page_numbers']['current']);
$template->assign('numrows', $results['totalItems']);
$template->assign('links', $results['links']);
// ################### DISPLAY TEMPLATE ######################
$template->assign('breadcrumb', $path);
$template->assign('catTitle', $catTitle);
$template->assign('body', 'category.tpl');
?>
-------------------------------------------
la ligne 74 est en gras en bas
$results=Pager_Wrapper_DB(&$db, $sSQL, $params);
------------------------
<?php
defined( 'IN_KB' ) or die( 'Restricted access' );
// ################### BACK END ######################
require_once 'Pager/Pager.php';
require_once 'Pager/Pager_Wrapper.php';
$id = ( empty($_GET['id']) ) ? 1 : (int)$_GET['id'];
// ################### CATEGORY NAME ######################
$path=$Category->breadcrumb($id,0);
$sSQL='SELECT cName FROM '.PREFIX.'categories WHERE cID='.$id;
$result=$db->query($sSQL);
$rs=$result->fetchRow();
$catTitle=$rs['cName'];
$result->free();
// ################### SUBCATEGORYS ######################
$sSQL='SELECT cID, parent_id, cName,cDescription FROM '.PREFIX.'categories WHERE cDisplay="Y" AND parent_id='. $id.' ORDER BY cORDER ASC, cName ASC';
$result = $db->query($sSQL);
$catrows = $result->numRows();
$category = array();
while ($row = $result->fetchRow())
{
$category[]=$row;
}
$result->free();
$template->assign('category',$category);
$template->assign('catrows',$catrows);
// ################### ARTICLES ######################
$sSQL="SELECT article_id FROM ".PREFIX."article2cat WHERE category_id=".$id;
$result = $db->query($sSQL);
$totalItems = (int)$result->numRows();
$count=1;
$aID='';
while ($row = $result->fetchRow())
{
if($count<$totalItems)
{
$comma=", ";
}
else
{
$comma="";
}
$aID.=$row['article_id']. $comma;
$count++;
}
if($aID<>"")
{
$sSQL='SELECT aID,aTitle,aShortDesc,aDate,aHits FROM '.PREFIX.'articles WHERE aID IN ('.$aID.') AND aDisplay="Y" ORDER BY aDate';
$params = array(
'mode' => 'Sliding',
'perPage' => $KB->settings['max_search'],
'delta' => 2,
'urlVar' => 'num',
'spacesBeforeSeparator' => '1',
'spacesAfterSeparator' => '1',
);
$results=Pager_Wrapper_DB(&$db, $sSQL, $params);
}
$template->assign('data', $results['data']);
$template->assign('maxPage', $results['page_numbers']['total']);
$template->assign('pageNum', $results['page_numbers']['current']);
$template->assign('numrows', $results['totalItems']);
$template->assign('links', $results['links']);
// ################### DISPLAY TEMPLATE ######################
$template->assign('breadcrumb', $path);
$template->assign('catTitle', $catTitle);
$template->assign('body', 'category.tpl');
?>
-------------------------------------------
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
206
9 sept. 2008 à 15:07
9 sept. 2008 à 15:07
Effectivement il y a un passage par reference
$results=Pager_Wrapper_DB(&$db, $sSQL, $params);
tu le reconnais au & devant &$db
essai d'enlever le & et regarde si ça ne pose pas de probleme a la fonction Pager_Wrapper_DB sinon il faudra montrer son code aussi ;)
$results=Pager_Wrapper_DB(&$db, $sSQL, $params);
tu le reconnais au & devant &$db
essai d'enlever le & et regarde si ça ne pose pas de probleme a la fonction Pager_Wrapper_DB sinon il faudra montrer son code aussi ;)
Bonjour
Il faut modifier la ligne pour remplacer par
mais il faut aussi modifier la déclaration de la fonction Pager_Wrapper_DB dans Pager/Pager_Wrapper.php pour rajouter un '&' avant son 1er paramètre.
Il faut recommencer ça pour chaque appel de fonction avec un paramètre passé par référence (qui commence par &) : le & doit être dans la déclaration de la fonction, pas dans l'appel.
Il faut modifier la ligne pour remplacer par
results=Pager_Wrapper_DB($db, $sSQL, $params);
mais il faut aussi modifier la déclaration de la fonction Pager_Wrapper_DB dans Pager/Pager_Wrapper.php pour rajouter un '&' avant son 1er paramètre.
Il faut recommencer ça pour chaque appel de fonction avec un paramètre passé par référence (qui commence par &) : le & doit être dans la déclaration de la fonction, pas dans l'appel.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
petitmarco
Messages postés
44
Date d'inscription
mardi 3 octobre 2006
Statut
Membre
Dernière intervention
19 décembre 2010
7
9 sept. 2008 à 15:14
9 sept. 2008 à 15:14
Merci de vos réponses, je vais essayer les deux et je reviens pour informer du résultats
petitmarco
Messages postés
44
Date d'inscription
mardi 3 octobre 2006
Statut
Membre
Dernière intervention
19 décembre 2010
7
9 sept. 2008 à 15:21
9 sept. 2008 à 15:21
SUPER, la solution de "Mimiste" fonctionne, j'ai enlevé le &, et plus de message d'erreur, et le site fonctionne
Merci encore à vous
;-)
Merci encore à vous
;-)