如何将以下 php 语句中的 device_token
字段设置为名为 $token
的变量?
result = query("SELECT device_token, IdPhoto, IdUser FROM photos ORDER BY IdPhoto DESC LIMIT 1") ;
基于 w3schools SQL 文档:WHERE 子句用于仅提取那些满足指定条件的记录。
如何在上面的代码中使用它?
最佳答案
为了获取特定 token ,您需要一个 WHERE
子句和一个特定的 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'];
但是,如果您不需要特定 token 并希望返回所有 token ,则不需要 WHERE
子句和 LIMIT
。但是,LIMIT
为您提供了更改语句将返回的行数的选项。
$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
现在devicetoken包含了所有device_token的数组。您可以使用 foreach 循环和 while 来访问它们中的每一个:
foreach($token as $key=>$val){
echo $val.'<br>';
}
关于php - 为变量设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36381412/