как сохранить php-код в базе данных

В настоящее время я работаю над проектом, в котором я должен сохранить some PHP code в базе данных, я сохраняю код с помощью PHP tags .

Но я не понимаю, как я могу получить код, точно такой же, как и в базе данных.

Я пробовал следующие методы:

a) Прямое извлечение: когда я извлекаю базу данных непосредственно, значение $ row ['code'] пустое

b) using eval (): Когда я использую eval (), я получаю синтаксическую ошибку:

syntax error, unexpected '<' in H:\xampp\htdocs\trycodeonline\testing.php(27) : eval()'d code on line 1

c) используя eval () без php-тегов: когда я удаляю php-коды, я получаю результат вместо кода, например, я хочу напечатать echo "hello" но он печатает «привет»,

Итак, как я могу напечатать PHP-код?

Если вы действительно хотите это сделать, вы можете использовать eval (), поскольку ваш метод c) предлагает:

 $var // your variable with the data from the DB <?php echo eval("?>". $var ."<?") ?> 

Существует много законных прецедентов, в которых вы хотите хранить команды PHP в базе данных, и я лично нахожу крик «не делай этого», не зная обстоятельств немного бесполезно.

В любом случае, как уже отмечалось в разных потоках, есть проблемы с безопасностью и другие ловушки с использованием этого подхода, и я бы рекомендовал против него. Это упростит отладку и повысит потенциальную уязвимость безопасности, и так далее …

Прочитайте этот пост и этот пост, чтобы узнать больше о ловушках использования eval ().

Строки highlight_string отлично работают

  $str=highlight_string('<?php echo "hello"; ?>',true); echo $str; 

Преобразуйте любой алфавитно-цифровой символ в эквивалент HTML (т. Е. Пробел), а затем сохраните его в своей базе данных. Тогда ваш запрос может прямо из дерева использовать его в представлении.

Но я не понимаю, как я могу получить код, точно такой же, как и в базе данных.

Ну, если вы не можете этого сделать, задайте вопрос о базе данных (пожалуйста, после того, как вы прошли курс программирования PHP и базы данных). Потому что, если это не сработает, остальное – это совершенно другая история.