当我运行我的代码时,它给了我额外的方括号在响应,我想得到响应没有这些方括号。
我得到的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);
方括号的意思是它给你的是一个数据数组,而不仅仅是一个对象。
使用 fetchAll()
总是会返回一个与SELECT匹配的行数组,如果你知道只有一条行,那么你可以使用 fetch()
反而
$row = $user_login->fetch(\PDO::FETCH_ASSOC);