加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – PDO返回的数组重复值

发布时间:2020-12-13 17:15:55 所属栏目:PHP教程 来源:网络整理
导读:我使用PDO连接到 MySQL数据库并获取所有数据.当我打印出数组时,重复这些值.怎么解决?谢谢 连接到DB: $db = new PDO("mysql:host=localhost:3306;dbname=$dbName",$user,$pass,array(PDO::MYSQL_ATTR_INIT_COMMAND = "SET NAMES utf8")); $db-setAttribute(
我使用PDO连接到 MySQL数据库并获取所有数据.当我打印出数组时,重复这些值.怎么解决?谢谢

连接到DB:

$db = new PDO("mysql:host=localhost:3306;dbname=$dbName",$user,$pass,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
        $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

获取数据并打印出结果:

$result = $db->query("select UserBirthday,UserAddress,UserZipCode,UserPhone,UserFirstName,UserLastName,UserPassword,UserSecurityQuestion
                from USER_PROFILE
                where UserID=$userID;")->fetchAll();

    print_r($result);

打印出来的内容:

Array ( [UserBirthday] => 1999-01-01 [0] => 1999-01-01 
[UserAddress] => 1 Infinite Loop Seattle [1] => 1 Infinite Loop Seattle 
[UserZipCode] => 98125 [2] => 98125 
[UserPhone] => 2068874596 [3] => 2068874596 
[UserFirstName] => abc [4] => abc 
[UserLastName] => cdf [5] => cdf 
[UserPassword] => 5271593ca406362d7a2701e331408ab77d5b5b88 [6] => 5271593ca406362d7a2701e331408ab77d5b5b88 [UserSecurityQuestion] => null [7] => null)

解决方法

默认情况下,PDO将按名称和索引获取列.

使用PDO :: FETCH_ASSOC获取模式只按名称获取:

$result = $db->query("select UserBirthday,UserSecurityQuestion
            from USER_PROFILE
            where UserID=$userID;")->fetchAll(PDO::FETCH_ASSOC);

另请查看替代fetch modes.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读