V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
wuxiaolin
V2EX  ›  PHP

PDO的一个问题

  •  
  •   wuxiaolin · Nov 21, 2012 · 3556 views
    This topic created in 4906 days ago, the information mentioned may be changed or developed.
    $a = "狂神";
    $sql = "select acct,login from accounts where login=:login";
    $ptmt = $DB->prepare($sql);
    $ptmt->bindValue(':login', $a);
    $ptmt->execute();

    为何$a为中文时就查不出数据,字母数字就正常
    5 replies    1970-01-01 08:00:00 +08:00
    bixuehujin
        1
    bixuehujin  
       Nov 21, 2012
    难道是数据库与PHP脚本编码不匹配?
    wuxiaolin
        2
    wuxiaolin  
    OP
       Nov 21, 2012
    @bixuehujin 肯定一致的
    linlinqi
        3
    linlinqi  
       Nov 21, 2012   ❤️ 1
    创建DB对象的时候得把编码写上,例如

    $DB = new PDO("mysql:dbname=dbname", "user", "password",
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
    wuxiaolin
        4
    wuxiaolin  
    OP
       Nov 21, 2012
    @linlinqi 真的是少了这步呀,唉,感谢你,晕死,类里面居然没有处理,我一直以为有
    itommy
        5
    itommy  
       Nov 23, 2012
    @wuxiaolin 刚刚我也被这个折磨了一会 感谢你已经问过了


    @linlinqi 感谢你的答案! 问题解决 可以move on了 不然今晚睡不着 :p
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5394 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:37 · PVG 17:37 · LAX 02:37 · JFK 05:37
    ♥ Do have faith in what you're doing.