Erreur fonction "extract"

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur fonction "extract"

Re: Erreur fonction "extract"

par FuZZyLine » 24 sept. 2009, 15:26

Salut,

Changeant de serveur, donc de php, tu peux aussi avoir un trouble au niveau de php.ini.
...'fin c'est possible. Le principe quand on migre est s'assurer de rapatrier:

- .htaccess
- la config

Et biensur essayer d'avoir la même version que...

Possible que ca vienne de la... ou pas. En tout cas, courage ;)

@+ bon code;)

Re: Erreur fonction "extract"

par thehawk » 24 sept. 2009, 14:13

Okay ,

Alors la différence de syntaxe est du a la permissivité de PHP.
En effet ces trois codes sont interpreter de la même façon
<?php
echo 'Hello wolrd';
?>
<? 
echo 'Hello World';
?>
<?='Hello World' ?>
Seulement le 1ere cas sera TOUJOURS interpréter de la même façon
alors que le deuxième dépendra de la configuration local, et provoquera des erreurs avec des documents XML qui débute tous par : <?xml ( il y a si cela ce trouve une histoire de performance derrière je ne sais pas).
Enfin le 3eme est une syntaxe simplifié mais ... comment dire en restant poli ... abérante.

Modifie ton code source pour rentrer dans le premier cas , seulement cela necessite de revoir tout le code, alors tu peux modifier le php.ini contenu dans un sous repertoire de EasyPHP, en modifiant la direction short_open_tag = ON (de mémoire).

Bye hawk

Re: Erreur fonction "extract"

par Onizuka88 » 24 sept. 2009, 13:42

Effectivement il y avait quelques erreurs de syntaxe mais mon problème persistait. Le problème venait d'une autre erreur de syntaxe dans le code php. Le souci c'est que l'erreur ne se produit que lorsque je travail en local.

Est ce qu'il y a une différence entre le code offline et celui online

code source du site web :
<?
//connection bbd
//blabla 
//extract($value = mysql_fetch_array($query)); 
?>

<?=$texte?>
et pour que le code fonctionne en local
<?php
//connection bbd
//blabla 
//extract($value = mysql_fetch_array($query)); 
?>

<?php echo $texte; ?>
Pourquoi cette différence de syntaxe? est ce une évolution de langage ou il faut un script spécial pour le faire fonctionner.

Re: Erreur fonction "extract"

par Sékiltoyai » 23 sept. 2009, 01:07

Les Parse Error (erreurs de syntaxe) sont en général très explicites. Lis l'erreur, relis le code de la ligne suscitée (j'y vois 2 fautes tout de même), et en principe tu ne devrais pas avoir de problème à trouver. Dans le cas contraire relis encore une fois… :wink:

Erreur fonction "extract"

par Onizuka88 » 22 sept. 2009, 21:57

Bonjour à tous,

J'ai pour mission de modifier le site web de ma boite. J'ai donc tous rapatrié pour travailler en local, puis installé EasyPHP pour simuler le serveur et la base de donnée. Pour faire simple, le site est composé d'un charte graphique et tous les textes sont récupérées a partir de la base de donnée. J'ai fait quelques essais pour voir si tout fonctionnaient mais j'ai un problème avec la fonction "extract" (parse error)

Le code est le suivant:
<?php

$hote = "localhost"; //hote                                                  
$login = "root"; //login utilisateur                                     // code modifié pour travailler en local      
$motpasse = ""; //mot de passe 
$database = "arvdata"; // nom de la base de données

$bdd_textes = "arv_textePage";

$lang = 2;
$menu = 1;

$db = mysql_connect($hote, $login, $motpasse);  // 1
mysql_select_db($database,$db);        

//test pr voir si l'accés à la bdd est bon
$req = mysql_query("SELECT * FROM $bdd_textes");
$res = mysql_num_rows($req);

echo 'Il y a '.$res.' enregistrement(s) dan sla table .';
//test ok

// code qui pose problème
$query =  mysql_query("SELECT * FROM $bdd_textes WHERE menu='$menu' AND lang='$lang'") or die (mysql_error());

			if (!$query)
			{
			echo mysql_error()." : ".mysql_error();
			exit;
			}

echo 'valeur de la variable : '.$query. '  ';// la réponse de du style Ressource id #5

extract($value = $mysql_fetch_array($query)) //Parse error: parse error in C:\Program Files\EasyPHP5.3.0\www\essai.php on line 36
mysql_close($db);

?> 
<?=$texte?>
La base donnée ressemble à ca :

Image

Le site en ligne fonctionne bien mais impossible de travailler avec la base de donnée en local. Est ce que quelqu'un pourrait m'aider à résoudre ce problème et à corriger les erreurs

Merci

Onizuka