douqiao5314 2016-03-03 01:14
浏览 58
已采纳

PHP PDO在更新时转义双引号

In my local environnement everything is working fine but when I move my site on GoDaddy and I try to update a post, an '\' is added in front of each double quotes.

$sql = 'UPDATE '.$_REQUEST['id'].' SET description_'.$_REQUEST['lang'].' = :desc where id = 1';

    try
    {
        $prepare = $bd->BD_Interne->prepare($sql);
        $result = $prepare->execute(array(":desc" => $_REQUEST['raw_desc']));
        $_SESSION['update'] = "good";
    }
    catch(PDOException $e)
    {
        $_SESSION['update'] = "bad";
        echo $e->getMessage();
    }

Is it a mysql configuration issue or I have to do something in php?

  • 写回答

1条回答 默认 最新

  • douwang4374 2016-03-03 01:20
    关注

    Maybe it's work of directive magic_quotes_gpc see: http://php.net/manual/en/function.addslashes.php

    function addslashes returns a string with backslashes before characters that need to be escaped. These characters are single quote ('), double quote ("), backslash () and NUL (the NULL byte).

    The PHP directive magic_quotes_gpc was on by default before PHP 5.4, and it essentially ran addslashes() on all GET, POST, and COOKIE data.

    You can read how disable magic quotes on GoDaddy here: https://uk.godaddy.com/help/disable-magic-quotes-8383

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?