V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wuxiaolin
V2EX  ›  PHP

PDO的一个问题

  •  
  •   wuxiaolin · 2012-11-21 16:58:08 +08:00 · 2994 次点击
    这是一个创建于 4180 天前的主题,其中的信息可能已经有所发展或是发生改变。
    $a = "狂神";
    $sql = "select acct,login from accounts where login=:login";
    $ptmt = $DB->prepare($sql);
    $ptmt->bindValue(':login', $a);
    $ptmt->execute();

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

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


    @linlinqi 感谢你的答案! 问题解决 可以move on了 不然今晚睡不着 :p
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   810 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:28 · PVG 06:28 · LAX 15:28 · JFK 18:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.