У меня есть это требование, которое гласит, что я должен иметь сигнатуру функции в качестве значения в столбце базы данных. Итак, мне нужно получить это значение, которое затем вызовет функцию в коде. Например .... скажем, у меня есть столбец в базе данных с именем "Подпись", который имеет значение SendMail () ;. Мне нужно иметь возможность получить возвращаемое значение и затем сохранить его в другой таблице. Проблема в том, что когда я использую функцию eval в $ i ['Signature'], функция вызывается, но я не могу получить возвращаемое значение. Что я делаю неправильно? Вот пример:
$query = "SELECT signature FROM tbl WHERE id = 1 ";
$signature = mysql_query($query);
while ($i = mysql_fetch_array($signature)){
//Here the function is being called properly but I can't get the return value.
$email= eval($i['Signature']);
if(mysql_num_rows($i) == 0){
//insert the returned value into another table.
$insertString = "INSERT INTO tbl (email) VALUES ('$email')";
}
}
function SendMail()
{
$email= 'Have a great day'
return $email;
}
Кроме того, я должен получить некоторые комментарии "eval is evil", поэтому, если есть лучший способ, пожалуйста, сообщите.