根据magic_quotes_gpc的状态,打开时不需要用
默认的是
magic_quotes_gpc = on如果不能确认,可用get_magic_quotes_gpc()函数判断

解决方案 »

  1.   

    打开时不需要用什么?不需要给$query转义?
    如果需要转的话呢?
      

  2.   

    打开时不需要给$query转义
    否则
    $a=addslashes($a);
    $query="update table set a='$a'";

    $query="update table set a='".addslashes($a)."'";
    总之要给$query一个转义后的串
      

  3.   

    返回值是1的话是不是就是打开着?也就是说不用addslashes?
      

  4.   

    这是我写的一个自动加转义符的程序。大家帮看一下有没有问题/**
     * 自动判断PHP版本,并把所有环境变量转为普通变量
     *
     * @author   Avenger <[email protected]>
     * @version  $Id 2003-04-11 19:07:03 $
     */
    function paddslashes(&$a) {
        if (is_array($a)) {
            foreach ($a as $fname => $fval) {
                if (is_array($fval))
                    paddslashes($a[$fname],$tmp[$fname]);
                else
                    $a[$fname] = addslashes($fval);
            }
        }
    }if (phpversion() < '4.1.0') {
        isset($HTTP_SESSION_VARS) ? $_SESSION = $HTTP_SESSION_VARS : '';
        isset($HTTP_SERVER_VARS) ? $_SERVER = $HTTP_SERVER_VARS : '';
        isset($HTTP_ENV_VARS) ? $_ENV = $HTTP_ENV_VARS : '';
        isset($HTTP_FILES_VARS) ? $_FILES = $HTTP_FILES_VARS : '';
        if (get_magic_quotes_gpc() == 1) {
            isset($HTTP_GET_VARS) ? $_GET = $HTTP_GET_VARS : '';
            isset($HTTP_POST_VARS) ? $_POST = $HTTP_POST_VARS : '';
            isset($HTTP_COOKIE_VARS) ? $_COOKIE = $HTTP_COOKIE_VARS : '';
        } else {
            isset($HTTP_GET_VARS) ? paddslashes($HTTP_GET_VARS) : '';
            isset($HTTP_POST_VARS) ? paddslashes($HTTP_POST_VARS) : '';
            isset($HTTP_COOKIE_VARS) ? paddslashes($HTTP_COOKIE_VARS) : '';
            $_GET = $HTTP_GET_VARS;
            $_POST = $HTTP_POST_VARS;
            $_COOKIE = $HTTP_COOKIE_VARS;
        }
    } else {
        if (get_magic_quotes_gpc() != 1) {
            isset($_GET) ? paddslashes($_GET) : '';
            isset($_POST) ? paddslashes($_POST) : '';
            isset($_COOKIE) ? paddslashes($_COOKIE) : '';
        }
    }