probleme php enfin je crois..

WRInaute discret
Bonjour tout le monde,


je viens vers vous car j'ai un petit souci avec ma page : http://entomovores.fr/boutique/checkout/.

En effet quand je clique sur le bouton commander j'ai une belle erreur qui apparait :

Code:
Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /homez.520/entomovo/www/wp-includes/wp-db.php on line 787

Warning: Cannot modify header information - headers already sent by (output started at /homez.520/entomovo/www/wp-includes/wp-db.php:787) in /homez.520/entomovo/www/wp-includes/pluggable.php on line 866

Merci pour votre aide !
 
WRInaute accro
la seconde erreur est une conséquence de la première et la première est lié a un paramètre passé a la fonction mysql_real_escape_string() qui n'est pas au bon format.
Il faut que tu regarde le fichier wp-db.php a la ligne 787 pour voir quel est ou sont les paramètres utilisé pour déduire d'où il proviennent afin de déduire où le mauvais paramètre est produit et corriger le tir.
 
WRInaute accro
complément d'infos
Cette fonction attend une chaine de caractères comme premier argument, et c'est un tableau qui lui est donné.
 
WRInaute discret
Merci pour vos réponses !

voici ce que j'ai de la ligne 785 à 790 :

Code:
function _real_escape( $string ) {
		if ( $this->dbh && $this->real_escape )
			return mysql_real_escape_string( $string, $this->dbh );
		else
			return addslashes( $string );
	}
 
WRInaute accro
Ce n'est pas là qu'il faut rechercher, mais à l'endroit ou tu appelles ta fonction _real_escape(). Ici, c'est la définition de la fonction.

Quelquepart dans ton site, tu as un appel

Code:
$bidule=_real_escape($variable);

ou $variable contient un tableau PHP - array() - et non une chaîne de caractères comme cela devrait être le cas.
 
WRInaute discret
Bonjour nichargall et merci pour ta réponse pense tu que ce soit dans la page de paiement?

Je ne trouve pas ou cela pourriat etre .

Cordialement
 
WRInaute accro
Dans ta function _real_escape, là tu verras d'où vient l'appel qui pose problème.
 
WRInaute discret
merci,

cela me fais donc :

function _real_escape( $string ) {
debug_print_backtrace();
if ( $this->dbh && $this->real_escape )
return mysql_real_escape_string( $string, $this->dbh );
else
return addslashes( $string );
}
 
WRInaute discret
je me permet de faire un up apres 15 jours car je n'ai toujours pas réussi à réparer cette erreur.

Merci d'avance
 
Nouveau WRInaute
Bonjour kanako,

Si tu dispose d'un éditeur type Notepad++, tu peux rechercher dans le répertoire contenant tes fichiers la fonction _real_escape dans tous les fichiers php (il faut que tu aies téléchargé ton site sur ton disque dur pour pouvoir faire cette recherche). Une fois que tu auras trouvé le ou les fichiers contenant cette fonction, il sera + aisé de trouver où tu fournis un tableau au lieu d'une chaîne de caractères à la fonction !
 
WRInaute discret
Bon ca y est j'ai enfin réussi en faite il y avait juste de erreur de "_"

voici la version corigé :

Code:
function _real_escape( $string ) {
if ( $this->dbh && $this->[color=#FF0000]_[/color]real_escape )
return mysql_real_escape_string( $string, $this->dbh );
else
return addslashes( $string );
}

Merci à ceux qui ont essayer !
 
Discussions similaires
Haut