Mysql
 sql >> Base de données >  >> RDS >> Mysql

Stockez le nom de la fonction dans la base de données, puis exécutez-le

Vous pouvez utiliser des fonctions variables (http://php.net/manual/en /functions.variable-functions.php ).

$r = mysql_query("SELECT method FROM method_table WHERE id = 2");
$row = mysql_fetch_assoc($r);
$func = $row['method'];
$func($parameter); //will execute whatever method you stored in the `method` field

De cette façon, vous pouvez exécuter une fonction dont le nom est stocké dans une base de données. Si vous souhaitez l'exécuter dans le contexte d'un objet (d'où la method ), vous pouvez faire :$this->$func($parameter);