gpt4 book ai didi

php - 在数据库中使用 PHP 变量

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:43 24 4
gpt4 key购买 nike

我想将 HTML 代码保存到 MySQL 数据库中。我保存的时候没有问题,但是我有一个字段,我想给它赋值。

<input type="text" size="18" value="$user" />

当我从数据库中检索它并将其发送到浏览器时,文本字段的值不是 $user 变量的值。

这是我要保存的 php 代码:

function SaveHTML(){
global $cn;
$content=mysql_real_escape_string( $_POST["html"],$cn);
$url=mysql_real_escape_string("http://www.google.com/",$cn);
mysql_query("Insert into HTML(content,URL) values('$content','$url')");
}

最佳答案

您必须回显该值才能显示它:

<input type="text" size="18" value="<?php echo htmlspecialchars($user, ENT_QUOTES, 'UTF-8'); ?>" />

如你所见,我还使用了 htmlspecialchars()防止XSS attacks .

另外,请不要对 代码使用mysql_* 函数。它们不再维护,社区已经开始 deprecation process .查看red box ?相反,您应该了解 prepared statements并使用 PDOMySQLi .如果你不能决定,this article会帮助选择。如果你想学习,here is a good PDO tutorial .

我注意到的另一件事是您正在使用 global 关键字。最好将连接作为参数注入(inject)函数中:

function SaveHTML($cn){
$content=mysql_real_escape_string( $_POST["html"],$cn);
$url=mysql_real_escape_string("http://www.google.com/",$cn);
mysql_query("Insert into HTML(content,URL) values('$content','$url')");
}

编辑(死亡):

我想要的是以下内容:

假设您有一个变量 $user 和一段如下所示的 HTML 代码:

$html = <<<'Death'
<input type="text" size="18" value="$user" />
Death;

现在,如果我将此变量 ($html) 保存到数据库中,然后在另一个页面中将此 html 发送给用户,我应该如何处理 $user在 html 代码中,在第二页中有 $user 的值?

回答:我将字符串(按原样)保存到数据库,然后使用 eval() 函数用它的值替换 $user!

编辑 PeeHaa

请注意,在大多数情况下,在您的数据库中包含 HTML 被认为是不好的做法(除非您自己)。我也不喜欢 eval() 的东西(这总是不好的做法)。

关于php - 在数据库中使用 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5929634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com