user3233623
user3233623

Reputation: 383

Setting value to variable

How can one set the device_token field in the below php statement to a variable named $token?

result = query("SELECT device_token, IdPhoto, IdUser FROM photos ORDER BY IdPhoto DESC LIMIT 1") ;

Based off of the w3schools SQL documentation: The WHERE clause is used to extract only those records that fulfill a specified criterion. How can that be used in the above code?

http://www.w3schools.com/sql/sql_where.asp

Upvotes: 0

Views: 58

Answers (1)

Mawia HL
Mawia HL

Reputation: 3665

In order to get a specific token you need a WHERE clause and a specific userid.

$id = 1; //You may get this from a form/session you created for login user    
$dbh = new PDO('mysql:host=localhost;dbname=dbname', 'root', 'password');    
$result = $dbh->query("SELECT device_token, IdPhoto, IdUser 
                       FROM photos WHERE IdUser='$id' 
                       ORDER BY IdPhoto DESC LIMIT 1");
$devicetoken = $result->fetch(PDO::FETCH_ASSOC);

echo $devicetoken['device_token'];

But if you don't need a specific token and want to return all the tokens, you don't need WHERE clause and LIMIT. However, LIMIT gives you the options for changing the number of rows the statement would return.

$result = $dbh->query("SELECT device_token, IdPhoto, IdUser 
                       FROM photos
                       ORDER BY IdPhoto DESC");
$token = $result->fetch(PDO::FETCH_ASSOC);//store the device token here in $token

Now devicetoken contains an array of all the device_token. You can access each one of them using foreach loop and and while:

 foreach($token as $key=>$val){
      echo $val.'<br>';
 }

Upvotes: 1

Related Questions