Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP从SQL打印HTML和PHP代码_Php_Html_Sql - Fatal编程技术网

使用PHP从SQL打印HTML和PHP代码

使用PHP从SQL打印HTML和PHP代码,php,html,sql,Php,Html,Sql,我将包含PHP代码的HTML代码存储在数据库中,并希望将其输出到我的网站上。PHP代码将被注释掉 SQL存储代码: Hallo und ein herzliches Willkommen auf der Homepage von <?php echo($p_name); ?>. <br> Euer <?php echo($p_name); ?>. 表结构: CREATE TABLE `news` ( `entryid` int(11) NOT NULL

我将包含PHP代码的HTML代码存储在数据库中,并希望将其输出到我的网站上。PHP代码将被注释掉

SQL存储代码:

Hallo und ein herzliches Willkommen auf der Homepage von <?php echo($p_name); ?>. <br>

Euer <?php echo($p_name); ?>.
表结构:

CREATE TABLE `news` (
  `entryid` int(11) NOT NULL,
  `content` varchar(8000) CHARACTER SET latin1 COLLATE latin1_german2_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `news`
  ADD PRIMARY KEY (`entryid`);

ALTER TABLE `news`
  MODIFY `entryid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
COMMIT;
---结果:---

大家好,欢迎光临
尤尔。
我将包含PHP代码的HTML代码存储在数据库中,并希望将其输出到我的网站上

答案很简单:

不要那样做。曾经 一般来说,在数据库中存储这样的动态HTML不是一个好主意,但是如果您只有一个带有几个占位符的常规HTML来输出一些数据,那么就放一些占位符,而不是PHP代码:

欢迎光临%p\u name%主页

然后只需使用
str\u replace()

如果您想存储一个包含循环、条件等的功能齐全的HTML模板,可以这样做,但仍然不推荐这样做。使用像Twig这样的专用模板引擎,将模板存储在文件系统中,而不是数据库中

我将包含PHP代码的HTML代码存储在数据库中,并希望将其输出到我的网站上

答案很简单:

不要那样做。曾经 一般来说,在数据库中存储这样的动态HTML不是一个好主意,但是如果您只有一个带有几个占位符的常规HTML来输出一些数据,那么就放一些占位符,而不是PHP代码:

欢迎光临%p\u name%主页

然后只需使用
str\u replace()


如果您想存储一个包含循环、条件等的功能齐全的HTML模板,可以这样做,但仍然不推荐这样做。使用像Twig这样的专用模板引擎,并将模板存储在文件系统中,不使用数据库:在数据库中使用
latin1
和输出时使用
utf-8
都是自找麻烦的-最好还是直接使用。这是默认的字符集xD,我正忙着修复它,所以我使用了PHP utf8\u编码xD作为旁白:在数据库中使用
latin1
是自找麻烦的
utf-8
用于输出-最好只使用它。这是默认的字符集xD,我正忙着修复它,所以我使用了PHP utf8\u encode xD
CREATE TABLE `news` (
  `entryid` int(11) NOT NULL,
  `content` varchar(8000) CHARACTER SET latin1 COLLATE latin1_german2_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `news`
  ADD PRIMARY KEY (`entryid`);

ALTER TABLE `news`
  MODIFY `entryid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
COMMIT;
Hallo und ein herzliches Willkommen auf der Homepage von <!--?php echo($p_name); ?-->. <br>
Euer <!--?php echo($p_name); ?-->.
echo str_replace("%p_name%", $p_name, $row['content']));