Question Warning: mysql_real_escape_string(): sur fichier database.php SUR LA PAGE D ACCUEIL

Plus d'informations
28 Juil 2009 01:22 #1 par jjjjulious
Bonjour,


Après MAJ d'un site ... J'AI MA PAGE D ACCUEIL COUVERT DE MESSAGES WARNING
concernant le fichier ../include/database.php ligne 139

Et si je vais sur le code je trouve celle ci

function getEscaped( $text, $extra = false ) {
// Use the appropriate escape string depending upon which version of php
// you are running
LIGNE 136 if (version_compare(phpversion(), '4.3.0', '<')) {
$string = mysql_escape_string($text);
} else {
LIGNE 139 $string = mysql_real_escape_string($text, $this->_resource);
}
if ($extra) {
$string = addcslashes( $string, '%_' );
}
return $string;

Je vois phpversion sur la LIGNE 136 ... tout cela me donne une idée assez vague du
problème ...

QUESTION 1 POUR UN SPECIALISTE :
Comment peux je resoudre mon problème, SVP?

Est ce qu'on peut savoir à quoi tout cela concerne?

POUR INFORMATION JE PASSE de Joomla v1.0.11 vers v1.0.15 (cette fois en ligne; EN
LOCAL JE N AVAIS AUCUN PROBLEME) Ah je suis CHEZ FREE

LE MESSAGE EST :
Warning: mysql_real_escape_string(): 15181352 is not a valid MySQL-Link resource in /mnt/145/sdb/a/e/cccclinstant/includes/database.php on line 139


MERCI D AVANCE POUR DES REPONSES ET CORDIALEMENT
Le sujet a été verrouillé.
Plus d'informations
28 Juil 2009 01:36 #2 par jjjjulious
Bonjour,
Ce n'est pas une histoire de magic_quote qu'il fallait (activer ou desactiver)
pour passer de joomla 1.0.11 vers joomla 1.0.15 ... rapellez moi, svp.

Je me suis dit à ce moment là qu'on risquait d'avoir des problèmes pour bien
afficher les apostrophes ... mais je me suis dit, ils ont prévu quelque
chose pour le remplacer ... ce n'est pas çà?

Bon sinon, cela seul chose qui me manque et enfin je pourrai avoir mon site!!

MERCI POUR LA FUTURE REPONSE.

CORDIALEMENT
Le sujet a été verrouillé.
Plus d'informations
29 Juil 2009 12:54 #3 par jjjjulious
Bonjour,
D'abord je voudrais m'excuser, hier j'ai voulu COPIER - COLLER des morceaux
de codification php, pour dire que j'avais trouvé une piste ...
Mais le système s********e a imaginer une menace et il n'a rien accepté.!!

MAIS CE N ETAIS PAS DE LA MAUVAISE FOIS. C'est vrai que l'autre fois aussi
j'avais voulu COPIER - COLLER un petit formulaire pour expliquer quelque
chose ... et le système m'avais aussi refuse.

Je recommence mais cette fois, je met un ## au debut de chaque ligne de code, juste
pour qu'on puisse parler ... SUR LE CODE!!
JE CROYAIS AVOIR TROUVE UNE BONNE PISTE DE SOLUTION
VOICI L HISTORIQUE
1.-
A propos d’un problème rencontré en mai 2008 (où une grand partie des fournisseurs avait désactivé la fonction phpversion(), on avait pour commencer proposer de mettre en commentaire quelques lignes de codes et

puis il y avait eu un autre type de problèmes : sites sans Messages d’erreurs ou site complètement vide sans aucun article … alors pour le morceau de code qui m’intéresse, sticky fingers chez joomlafr avait trouvé LA SOLUTION

2.- Il disait :
JE CITE :
« Mettre en commentaire ces lignes ne change rien.
Ces lignes testent juste la version de php qui tourne sur le serveur.
Or nous savons maintenant que nous sommes en php5.
On fait donc sauter les lignes concernant php4 et on garde celles qui font référence à php5.

Dans l'exemple suivant :

##//if (version_compare(phpversion(), '4.3.0', '<')) {
##//$string = mysql_escape_string($text);
##//} else {
##$string = mysql_real_escape_string($text, $this->_resource);
##//}
##if ($extra) {
##$string = addcslashes( $string, '%_' );
##}
##return $string;
##}
FIN DE CITATION
==

CETTE PARTIE DE CODE CORRESPOND PARFAITEMENT A NOTRE CAS (…/includes/database.php vers la ligne 135 )

ET IL COMMENTAIT SA CODIFICATION
JE CITE :
==
“Dans l'exemple ci dessus, en clair, ça dit :
Si la version php du serveur est inférieure à 4.3.0, alors on exécute la commande entre {}, sinon j'exécute l'autre commande.
Je fais donc sauter la partie de test sur 4.3.0 et je ne garde que le reste qui correspond à mes besoins.

Il faut directement attaquer les fichiers database.php et joomla.php.

Tu les télécharges en local sur ton PC, tu les modifies et hop tu les uploades de nouveau sur ton serveur. Ca a été radical chez moi, plus une erreur sur les 2 sites que je gère. Je suis en Joomla 1.0.15. «
==
FIN DE CITATION

Autre personne sur le même forum, confirmait /

JE CITE :
ça marche
a2doc

Ok j'ai mis en commentaire les parties proposées par pcatel et sticky fingers et ça fonctionne.
Donc pour les personnes un peu plus novice.
- Ouvrez votre FTP (FileZila, pour la plupart)
- Ouvrez dans le dossier INCLUDES
- Editez le ficher joomla.PHP et cherchez les lignes de codes :

##/*if (phpversion() < '4.2.0') {
##require_once( dirname( __FILE__ ) . '/compat.php41x.php' );
##}*/
##
##/*if (phpversion() < '4.3.0') {
##require_once( dirname( __FILE__ ) . '/compat.php42x.php' );
##}*/
##
##//if (version_compare( phpversion(), '5.0' ) < 0) {
##
##require_once( dirname( __FILE__ ) . '/compat.php50x.php' );
##//}
pour y rajouter les symbole en gras

- Enregistrez
FIN DE CITATION

BON JE VIENS DE FAIRE LES DEUX MOFIFICATIONS PROPOSES MAIS LE PROBLEME
CONTINUE et pourtant je crois qu'il est la bonne piste ... IL DOIT
AVOIR UN PETIT DETAIL QUE SE M ECHAPPE.


EST CE QU IL Y A QUELQU UN PARMI LES SPECIALISTES OU DE PERSONNES
QUI ONT EU LE MEME PROBLEME POUR ME DONNER UN COUP DE MAIN, PLEASE !!

MERCI D AVANCE ET CORDIALEMENT. :S :S :S :S :S
Le sujet a été verrouillé.
Plus d'informations
29 Juil 2009 17:08 #4 par jjjjulious
Bonjour,
Bon ... je vais re-commencer le monologue ...

Ok rien avoir mais il y avait juste une relation.
(Je ne sais même pas si FREE se trouve parmi les fournisseurs
qui ont activé ou désactivé la fonction phpversion() !!)

recentrons l'attentionplutôt sur la ligne du code (et que je vais
préfixer avec ## juste pour ne pas avoir des problèmes )qui nous fait du
problème :

##$string = addcslashes( $string, '%_' );

pourquoi ce codification termine pour créer ce message :
Warning: mysql_real_escape_string(): 15151768 is not a valid MySQL-Link resource in /mnt/145/sdb/a/e/ccclinstant/includes/database.php on line 139

ALLER PARTONS A LA RECHERCHE!!
A+
Le sujet a été verrouillé.
Plus d'informations
29 Juil 2009 17:18 - 29 Juil 2009 17:20 #5 par jjjjulious
Bonjour,

Correction la ligne maudite est (que je prefixe par ##) :
##$string = mysql_real_escape_string($text, $this->_resource);

Qu'est ce qu'il y ici que soit anormal sur un site Joomla
version 1.0.15 chez FREE ? pour produire ce message :

Warning: mysql_real_escape_string(): 15151768 is not a valid MySQL-Link resource in /mnt/145/sdb/a/e/ccclinstant/includes/database.php on line 139



SI QUELQU UN PEUT REPONDRE CELA ...??? on aura la solution!!
MERCI POUR LES EFFORTs.
(etre ou ne pas etre / to be or not to be/ cual es el dilema?
presentar el pecho
de la airada fortuna ...)
a+

:side: :side: :side: :side:
Dernière édition: 29 Juil 2009 17:20 par jjjjulious.
Le sujet a été verrouillé.
Plus d'informations
29 Juil 2009 20:18 - 29 Juil 2009 20:20 #6 par lotfi_universal
bonsoir,

Merci d'utiliser les bbcode pour inclure des portions de codes!

exemple:
LIGNE 136 if (version_compare(phpversion(), '4.3.0', '<')) {
$string = mysql_escape_string($text);
} else {
LIGNE 139 $string = mysql_real_escape_string($text, $this->_resource);
}
if ($extra) {
$string = addcslashes( $string, '%_' );
}
return $string;


Merci d'utiliser l'outil

Citation: texte

pour spécifier des messages d'erreurs

Merci d'ouvrir un autre sujet et de respecter ces "normes"

Pas de support en MP sans y être invité.
Merci de vous conformer aux règles du forum
Dernière édition: 29 Juil 2009 20:20 par lotfi_universal.
Le sujet a été verrouillé.
  • Vous ne pouvez pas: Créer un nouveau sujet.
  • Vous ne pouvez pas: Répondre au sujet.
  • Vous ne pouvez pas: Éditer votre message.
Modérateurs: serge
Temps de génération de la page : 0.358 secondes