mysql在pdo方式下,mysql_real_escape_string替代方法

向数据库中插入数据,mysql方法是这样的。

$sql = "INSERT INTO users(user_name, user_pass, user_email, user_date, user_level)
                VALUES('" . mysql_real_escape_string($_POST['user_name']) . "'
                    , '" . md5($_POST['user_pass']) . "'
                    , '" . mysql_real_escape_string($_POST['user_email']) . "'
                    , time(), 0)";
            $result = mysql_query($sql);

这段代码用mysql_real_escape_string对提交的数据进行了转义处理。

用pdo对mysql数据库进行更新操作,假设mysql_real_escape_string函数不可用,我们要怎样对一个字符串进行转义呢,我认为可以这样处理。

<?php
function addsla($str)
{
  if(!get_magic_quotes_gpc())
  {
    $str= addslashes($str);
  }
        
  return $str;
}

$sql = "INSERT INTO users(user_name, user_pass, user_email, user_date, user_level)
                VALUES('" . addsla($_POST['user_name']) . "'
                    , '" . md5($_POST['user_pass']) . "'
                    , '" . addsla($_POST['user_email']) . "'
                    , time(), 0)";
$result = mysql_query($sql);

 

京ICP备14008139号-1