dongwen4630 2015-08-29 10:34
浏览 55

如何获取rest api输出在url上输入的行数

I created a REST API and I've come to the point where I want to output 20 rows (e.g.) if I access the API like http://api.randomuser.me/?results=20.

This is my PHP code. I am new to Slim and AngularJS, please help.

function getUsers() {
    $sql = "select * FROM user";
    try {
        $db = getConnection();
        $stmt = $db->query($sql);  
        $users = $stmt->fetchAll(PDO::FETCH_OBJ);
        $db = null;
        echo json_encode($users);
    } catch(PDOException $e) {
        echo '{"error":{"text":'. $e->getMessage() .'}}'; 
    }
}

Thanks in advance.

  • 写回答

2条回答

  • dongzha5934 2015-08-29 10:43
    关注

    Read the results parameter in a variable, and use it in the LIMIT clause instead of the hard coded 10

    function getUsers() {
    
        try {
            $db = getConnection();
    
            $limit = $_GET["results"];
            // validate $limit for valid value here and continue only if  
            // using something like 
            // $limit = $db->real_escape_string($limit);
            // and continue only if successfully validated
    
            $sql = "select * FROM user ORDER BY id LIMIT ".(strlen($limit) ? $limit : 10);
            $stmt = $db->query($sql);  
            $users = $stmt->fetchAll(PDO::FETCH_OBJ);
            $db = null;
            echo json_encode($users);
        } catch(PDOException $e) {
            echo '{"error":{"text":'. $e->getMessage() .'}}'; 
        }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 鸿业暖通修改详细负荷时闪退
  • ¥15 有偿求码,CNN+LSTM实现单通道脑电信号EEG的睡眠分期评估
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体