Help fonction eval();

Signaler
Messages postés
111
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
5 novembre 2008
-
Messages postés
111
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
5 novembre 2008
-
J'ai créer une classe qui permet de gérer deux trois fonction MySQL mais j'ai un ptit problème lors de la sélection dans la base de données car je dois utiliser la fonction eval mais sa ne marche pas! Je vous met ici deux page la page user_add_db.php qui permet d'utiliser l'objet et la class_db.php ou il y a le problème avec la fonction eval(); à la ligne 74.

Si qqun trouve sa serait vraimen cool! Merci d'avance!

<?
#############################################
#Auteur: Alain Sahli #
#Date: 21 Octobre 2004 #
#Page: user_add_db.php #
#Email: yoteco@fragordie.ch #
#############################################

include("connect.php");
include("class_db.php3");

new db("selection","test","WHERE id = '1'","nom;prenom","nom;prenom");

?>

<?
#############################################
#Auteur: Alain Sahli #
#Date: 21 Octobre 2004 #
#Page: class_db.php #
#Email: yoteco@fragordie.ch #
#############################################

class db // déclaration de la class add_db
{
function db ($argument, $argument1, $argument2, $argument3, $argument4) // déclaration du constructeur add_db
{
if($argument == "insertion")
{
$this->insertion("$argument1","$argument2","$argument3");
}
elseif($argument == "update")
{
$this->update("$argument1","$argument2","$argument3","$argument4");
}
elseif($argument == "suppression")
{
$this->suppression("$argument1","$argument2");
}
elseif($argument == "selection")
{
$this-> selection("$argument1", "$argument2", "$argument3", "$argument4");
}
}

###################################################### - Insertion - ######################################################

function insertion ($ins_table, $ins_de_table, $ins_value) // déclaration de la fonction insertion exple:
{ //db("insertion";"test","nom,prenom,age,loisirs","'Sahli','Alain','17 ans','Ski'","");
$insert = "INSERT INTO `$ins_table` ($ins_de_table) VALUES ($ins_value)"; // insertion mysql
mysql_query($insert) or die ("Erreur lors de l'insertion");
echo("Insertion effectuée avec succès!");
}

###################################################### - Update - ######################################################

function update ($up_table, $up_arguments, $up_endroit, $up_nom) //déclaration de la fonction update exple:
{ //db("update","test","nom='Mercerat',prenom='Loic',age='18ans',loisirs='Longboard'","Nom","Sahli");$update "UPDATE `$up_table` SET $up_arguments WHERE $up_endroit '$up_nom'";
mysql_query($update) or die ("Erreur lors de l'update!");
echo("Update effectué avec succès!");
}

###################################################### - Supression - ######################################################

function suppression ($sup_table, $sup_argument) //déclaration de la fonction supression exple: db("suppression","test","id='4'","","");
{
$suppression = "DELETE FROM `$sup_table` WHERE $sup_argument";
mysql_query($suppression) or die ("Erreur lors de la suppression!");
echo("Suppression effectuée avec succès!");
}

###################################################### - Sélection - ######################################################

function selection ($sel_table, $sel_argument, $sel_var, $sel_champ)
{

$var = explode(";",$sel_var);
$champ = explode(";",$sel_champ);
$real_in = count($var);

$selection = "SELECT * FROM `$sel_table` $sel_argument";
$a = mysql_query($selection) or die ("Erreur de sélection!");
while($b = mysql_fetch_array($a))
{
for($i=0;$i<$real_in;$i++)
{
eval($$var[$i] = $b['$$champ[$i]']);
echo($nom);
}
}
echo("Sélection effectuée avec succès!");
}
}

?>

Désolé c un peu long mais bon pour bien comprendre il faut tt le code :)

Et une côtellette à la bière pour Gérard :)

2 réponses

Messages postés
514
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009

La fonction eval(); permet d'évaluer un string, comme si c'était une ligne normale de PHP. Or là, c'est pas une chaine de caractère que tu as. Il faut donc que tu rajoutes ' ou " quelque part.
Essaye dejà ça ... Et essaye aussi de virer le eval();, parce que je crois qu'en fait tu n'en as pas besoin ici ...
LocalStone :big)
Messages postés
111
Date d'inscription
lundi 20 octobre 2003
Statut
Membre
Dernière intervention
5 novembre 2008

Qu'est ce que tu entends par rajoutes ' ou " quelque part??
Et une côtellette à la bière pour Gérard :)