php - 如何从数据库中获取所有序列号并通过 JSON 发回

标签 php mysql sql select phpmyadmin

我想要注册表中的所有序列号,然后将其发送回设备。我试试这个:

date_default_timezone_set ('Asia/Phnom_Penh');
// Create a header with the current time
header('Last-Modified: ' . date("D, d M Y H:i:s", time()) . ' GMT+7');

$query1 = mysql_query("select serialNo from registration");
$row = mysql_fetch_array($query1);
$serialsArray = Array($row['serialNo']); 

$tag = '';
    if(!empty($_GET['passesUpadatedSince'])){
        $tag = strtotime($_GET['passesUpadatedSince']);
        error_log('Tag: ' .$tag,0);
    }

        $query1 = mysql_query("select MAX(updateTag) as updateTag from digiCardPass");
        $row1 = mysql_fetch_array($query1);
        $updateTag = $row1['updateTag'];
        error_log("get serial method");

    //if (!empty($serialsArray) && $updateTag != $tag) {
    if (!empty($serialsArray)) {

            echo json_encode(array('lastUpdated' => (string)time(), 
                       'serialNumbers' => $serialsArray)); 
    }else {
        response(204);
    }
}

?>


但是当我发送序列号时,我只看到 1 个序列号。这是结果:May 7 17:01:05 ML-iphone-5 passd[4234] <Warning>: Get serial numbers task completed with update tag 1367920864, serial numbers ( 1 )
如何获得所有序列号?

最佳答案

您应该使用 mysqli,因为 mysql_* 已弃用,但无论如何...

您只会看到一个结果,因为您使用了:

$row1 = mysql_fetch_array($query1);
$updateTag = $row1['updateTag'];

你需要这样的东西:

while ($row = mysql_fetch_row($query1))
{
    // do something sensible with each one here
    echo $row['updateTag'];
}

关于php - 如何从数据库中获取所有序列号并通过 JSON 发回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16416351/

相关文章:

Oracle 中的 SQL 优化

mysql - MySQL 中何时使用单引号、双引号和反引号

php - 无法将内容添加到数据库

php - 以指定用户身份从 php 运行 shell 脚本

返回 mysql_fetch_assoc() 的 PHP 函数会导致基于索引的数组?

php - Jquery live ('change',function()不会触发下拉菜单

mysql - 在 MySQL 语句中嵌入注释

php - 如何获得所有产品? MySQL, PHP

Mysql:阅读 const 表后注意到不可能的地方

mysql - 优化 MySQL 查询性能