繁体   English   中英

在mysql中,togher用html记录了php变量。 想要全部获取并将php变量视为变量,而不是html

[英]In mysql togher with html is recorded php variable. Want to fetch all and treat the php variable as variable, not html

如果我打开php文件,我可以写例如

Start text 
<?php $var='array from mysql'; 
echo $var;?>. 
Continue text

结果,我将看到Start text array from mysql. Continue text Start text array from mysql. Continue text

想要对mysql做同样的事情。 但是获取Start text <?php $var='array from mysql'; echo $var;?>. Continue text Start text <?php $var='array from mysql'; echo $var;?>. Continue text

如何从mysql获取数据并将php变量视为变量? 安全吗?

我需要所有这些,因为要在一页中显示文本和链接列表。 链接列表将是动态的(我将写页面,链接数量将增加)。 因此不要手动添加所有新链接,而是要从mysql获取链接URL。 并且链接列表要显示在页面中的特定位置。 可能还有其他简单的解决方案,但目前不知道其他解决方案

超链接也是如此。 如果在mysql中记录<a href="topic">Topic name</a>则php会准确地回显mysql中记录的内容,而不是超链接。

完整的代码将很长。 但是这里有些简短(粘贴修改后的代码)

 $_POST['topic_url'] = '<a href="topic">Topic name</a>';
 //or
 $_POST['topic_url'] = '<?php $var="array from mysql"; echo $var; ?>';

在mysql中记录

 $stmt_insert = $db->prepare( 'INSERT INTO topics ( TopicUrl ) VALUES (?) ;' );
 $stmt_insert->execute( array( $_POST['topic_url'] ) );

在mysql varchar字段中,我有<a href="topic">Topic name</a>

然后取

 $stmt = $db->prepare("SELECT TopicUrl FROM topics");
 $stmt->execute();
 $content = $stmt->fetch(PDO::FETCH_ASSOC);

然后简单地回声

 echo htmlspecialchars( $content['TopicUrl'] , ENT_QUOTES, "UTF-8");

并且在网页上看到相同的<a href="topic">Topic name</a>

但想查看名为主题名称的超链接

如果echo $content['MainText']; 然后可以看到超链接。 但是,如果不是超链接,则在mysql中记录此

<?php $var="array from mysql"; 
echo $var;
?>

然后回声,什么也看不见。

看来您这里有几个问题。 为了在php中正确呈现html,您需要包含header,html和body标签。 如果在代码周围添加这些内容,则超链接应在浏览器中正确呈现。

我看到的另一个主要问题是您应该将每个条目的url和名称分别存储在数据库中。 html部分不应位于数据库中。 您可以使用php函数包装每一行,但一定不要像这样存储完整的html行。 帮自己一个忙,为将来而努力,研究包括第三范式在内的数据库设计。

格式化信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM