php - 如果复制数据,再次mysql_real_escape_string?

标签 php mysql database escaping

在将数据放入数据库之前,我会通过 mysql_real_escape_string 传递数据。

如果我想将相同的数据复制到另一个表中,在复制之前是否需要再次通过 mysql_real_escape_string 传递它?

我写了一个小脚本来测试这个问题,看起来答案是肯定的:

$db = new AQLDatabase();
$db->connect();

$title = "imran's color";
$title = mysql_real_escape_string($title);
$sql = "insert into tags (title, color) values  ('".$title."','@32324')";
$db->executeSQL($sql);

$sql = "select * from tags where color = '@32324' ";
$result = $db->executeSQL($sql);
while($row= mysql_fetch_array($result))
{
    $new_title =  $row['title'];
}

$new_title = mysql_real_escape_string($new_title);
$sql = "insert into tags (title, color) values  ('".$new_title."','DDDDD')";
$db->executeSQL($sql);

注意:如果我删除第二个 mysql_real_escape_string 调用,则第二次插入将不会发生

最佳答案

正在做这样的事情吗?

  1. 将 mysql_real_escape_string($bla) 保存到数据库
  2. 从数据库中获取$bla
  3. 再次保存$bla(在另一个表中..)

从数据库中获取 $bla 将会“取消转义”它,因此它可能再次成为有害字符串。保存时一定要再次转义。

关于php - 如果复制数据,再次mysql_real_escape_string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5471814/

相关文章:

php - Android onScroll 从 MySQL/PHP/JSON 加载更多结果

php - 从另一个 mysql 表中获取详细信息

mysql - 如何将 MySQLworkbench 连接编码设置为 UTF8?

mysql - 将重复语句分配给变量

php - 为新站点用户自动创建自定义页面(或 URL) - PHP

javascript - 为什么我的文件在我的本地环境中找到,但在我的cpanel服务器上却出现404s?

mysql - MySQL 中的 Memcache 与缓冲池

mysql - 显示从属主机;有一个空的主机输出。如何获取从属主机?

mysql - SQL帮助-选择相关行数最多的表

php - 在多个实例中运行 Laravel 作业