Help fonction eval();

Yoteco Messages postés 111 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 5 novembre 2008 - 25 oct. 2004 à 22:22
Yoteco Messages postés 111 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 5 novembre 2008 - 26 oct. 2004 à 15:56
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

LocalStone Messages postés 514 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 1 mars 2009
26 oct. 2004 à 10:34
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)
0
Yoteco Messages postés 111 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 5 novembre 2008
26 oct. 2004 à 15:56
Qu'est ce que tu entends par rajoutes ' ou " quelque part??
Et une côtellette à la bière pour Gérard :)
0
Rejoignez-nous