0

Fetching and print results from multiple tables that have same column name. Here's my query: I am trying to fetch the column salt from login and cookie table.

SELECT login.salt
     , cookie.salt 
  FROM login
     , cookie 
 WHERE login.user_id 
   AND cookie.user_id = :user_id`

login
+---------------------------+
| user_id |       salt      |
+---------+-----------------+
| 1       |    fromLogin    |
| 2       |    fromLogin    |

cookie
+---------------------------+
| user_id |       salt      |
+---------+-----------------+
| 1       |    fromCookie   |
| 2       |    fromCookie   |

The result was:

Array ( [salt] => fromCookie )

How can i print both result out?

PHP

$user_id = 1;

$sql = "SELECT login.salt, cookie.salt FROM login, cookie WHERE login.user_id AND cookie.user_id = :user_id";

$params = array(
        'user_id' => $user_id
        );

$stmt = $db->justConnect()->prepare($sql);
$stmt->execute($params);
$result = $stmt->fetch(PDO::FETCH_ASSOC);

print_r($result);
Strawberry
  • 33,750
  • 13
  • 40
  • 57
Jimmy
  • 76
  • 1
  • 9

5 Answers5

1

Use alias in mysql

 $sql = "SELECT login.salt as s1, cookie.salt as s2 
         FROM login, cookie 
         WHERE login.user_id 
           AND cookie.user_id = :user_id";    

For more info refer to MySQL alias for SELECT * columns

Community
  • 1
  • 1
Web Artisan
  • 1,870
  • 3
  • 23
  • 33
0

use alias SELECT login.salt as login_salt

Moauya Meghari
  • 471
  • 2
  • 6
  • 23
0

Try alias, An alias can be used in a query select list to give a column a different name.

  $sql = "SELECT login.salt as s1, cookie.salt as s2 FROM login, cookie WHERE login.user_id AND cookie.user_id = :user_id";

Reference 1

Reference 2

AkshayP
  • 2,141
  • 2
  • 18
  • 27
0

Use alias with query.

$user_id = 1;

$sql = "SELECT login.salt as loginSalt, cookie.salt as cookieSalt FROM login, cookie WHERE login.user_id AND cookie.user_id = :user_id";

$params = array(
        'user_id' => $user_id
        );

$stmt = $db->justConnect()->prepare($sql);
$stmt->execute($params);
$result = $stmt->fetch(PDO::FETCH_ASSOC);

print_r($result);
RJParikh
  • 4,096
  • 1
  • 19
  • 36
0

set alias for your columns:

SELECT login.salt as login_salt, cookie.salt as cookie_salt FROM login, cookie WHERE login.user_id AND cookie.user_id = :user_id
Brijal Savaliya
  • 1,101
  • 9
  • 19
Ali Farhoudi
  • 5,350
  • 7
  • 26
  • 44