在php中删除外方括号 [关闭]

问题描述 投票:0回答:1

当我运行我的代码时,它给了我额外的方括号在响应,我想得到响应没有这些方括号。

我得到的Respose如下。{"error":false, "message": "Login succeedull", "user":[{"u_id": "102", "cust_name": "new", "u_name": "user", "cnic": "421", "addadd", "cell_num": "43243", "email": "[email protected]"}]}。

我想要的响应必须是这样的。 {"error":false, "message": "Login succeedull", "user":{"u_id":102, "cust_name": "new", "u_name": "user", "cnic": "421", "address": "sadaddd", "cell_num": "43243", "email": "[email protected]"}}。

我的代码部分如下。

$user_login = $conn->prepare("SELECT u_id,cust_name,u_name,cnic,address,cell_num, email FROM users,cell_num WHERE u_name = :u_name AND password=:password AND users.u_id=cell_num.u_id_fk");
                        $user_login->execute(['u_name' => $u_name,'password'=>$password]); 


                        if($user_login->rowCount() > 0){

                            $row  = $user_login->fetchAll(\PDO::FETCH_ASSOC);

                            $response['user'] = $row; 
                            //echo $row;
                            //print_r($row);
php mysql pdo
1个回答
1
投票

方括号的意思是它给你的是一个数据数组,而不仅仅是一个对象。

使用 fetchAll() 总是会返回一个与SELECT匹配的行数组,如果你知道只有一条行,那么你可以使用 fetch() 反而

$row  = $user_login->fetch(\PDO::FETCH_ASSOC);
© www.soinside.com 2019 - 2024. All rights reserved.