php
  • pdo
  • 2012-06-08 95 views 1 likes 
    1

    我嘗試將html內容保存到數據庫,'或'它會自動給出一個斜槓,這是非常好的,所以我不必做mysql_escape_string。但是當我加載字符串時,它顯示作爲PHP PDO bindParam與html內容

    <a href=/"yes/">test</a> 
    

    ,如果我再次保存它,我得到這個

    <a href=//"yes//">test</a> 
    

    這是否意味着,當我回聲出字符串我應該去掉斜線?

    $html = '<a href="yes">test</a>'; 
    $insertStatement = $pdo->prepare('insert into content (html) values (:html)'); 
    $pdo->bindParam(:html, $html); 
    $pdo->execute(); 
    
    +1

    請我們應該PDO的代碼。 – Petah

    +6

    不,這意味着你應該徹底閱讀魔術引號,並禁用它。 http://php.net/manual/en/security.magicquotes.php – goat

    +2

    使用bindValue而不是bindParam –

    回答

    1

    ,而不是使用

    $pdo->bindValue(':html', $html, PDO::PARAM_STR); 
    

    $pdo->bindParam(:html, $html); 
    
    +1

    有什麼不同? – Bruce

    +0

    http://stackoverflow.com/questions/1179874/pdo-bindparam-versus-bindvalue – Bruce

    相關問題