php - 如何在mysql数据库中插入一个php代码片段

标签 php mysql html-entities

我有一个如下所示的 php 代码片段:

function is_ancestor_of( $page_name = null, $post ) {

if(is_null($page_name))
return false;

// does it have a parent?
if (!isset( $post->post_parent ) OR $post->post_parent <= 0 )
return false;

//Get parent page
$parent = wp_get_single_post($post->post_parent);

 if ( $parent->post_name == $page_name ){
echo $parent->post_name.' - '.$page_name;
return true;
} else {
is_ancestor_of( $page_name, $parent );
}
}

我只是想将整个代码插入到 mysql 数据库表中,然后再次在页面上以相同的格式检索它。当我使用 INSERT INTO 查询将此代码简单地插入数据库时​​,会出现 mysql 语法错误,因为代码由于特殊字符而中断了 sql 查询。有什么办法吗??

谢谢。

最佳答案

是的,你可以做到这一点。多种方式:

  1. PDO - 这实际上是最佳选择。研究 PHP 手册中的这个主题,因为这比保护 PHP 中的 MySQL 查询免遭破坏更有帮助。
  2. addslashes() - 添加斜杠以转义字符。这肯定不会破坏您的 MySQL 查询。
  3. mysql_real_escape_string()
  4. mysql_escape_string()

已编辑 与此答案的先前版本相比,强调了 PDO,因为 PDO 比其他选项更安全,并且在使用 PHP 和 MySQL 时可以使用更多。

关于php - 如何在mysql数据库中插入一个php代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11494415/

相关文章:

PHP从MySQL替换表情符号无法循环

java - ASCII 到 HTML 实体在 Java 中转义

c++ - 文件转换的输出问题

php - 根据两列计算用户排名

php - 从多个表中搜索数据 laravel

php - 如何在 php 中创建安全的 mysql 准备语句?

php - 如何使用 PHP str_replace 使用 HTML 标签替换 htmlentities

php - 安装laravel家园错误

php - MySQL 获取自创建日起 n 天的非事件用户

mysql - Cygnus 不保留 MySql 数据库中的数据