Как я мог получить следующий код для печати aaa.bbb.ccc ??
В настоящее время все, что я получаю, это ошибка разбора для каждой строки eval ().
Это абстрактная версия кода. Наконец, я хочу, чтобы пользователи могли выбирать поля таблицы базы данных для поиска. Что-то вроде комбинации
if (strpos («$ field1. $ field2. $ field3», $ search)! == false) …
$filter = "\$x=\$a.\$b.\$c";
$a = "a";
$b = "a";
$c = "a";
eval($filter);
echo $x.",";
$a = "b";
$b = "b";
$c = "b";
eval($filter);
echo $x.",";
$a = "c";
$b = "c";
$c = "c";
eval($filter);
echo $x;
Чтобы исправить свой текущий код, измените следующее:
$filter = "\$x=\$a.\$b.\$c";
к
$filter = '$x=$a.$b.$c;';
Но использовать eval()
при вводе пользователем большая дыра в безопасности вашего кода. Попробуйте другой подход, например, проверьте, присутствует ли вход в $search
с помощью регулярного выражения и preg_match_all()
функция.
Других решений пока нет …