Restful API's with Slim framework and MSSQL database

Restful API's with Slim framework and MSSQL database

我的 api 在 mySql 上运行良好,但是当我切换到 MSSQL 时出现错误。 实际上我已经从 MSSQL 获取了所有数据,但是我的其他 api 没有用。 这是我获取所有数据的工作代码:

$app->get('/mirror', 'getAll'); 
$app->get('/mirror/{skincare_process_info_id}', function($request,$response,$args){
    get_skin_id($args['skincare_process_info_id']);
}); 
$app->run();

function getAll() {
    $sql = "select * FROM SkincareProcessInfo ORDER BY skincare_process_info_id";
    try {
        $db = connect_db();
        $stmt   = $db->query($sql);
        $skin  = $stmt->fetchAll(PDO::FETCH_OBJ);
        $db = null;
        echo '{"skin process info": ' . json_encode($skin) . '}';
    }catch(PDOException $e) {
        echo '{"error":{"text":'. $e->getMessage() .'}}';
    }    
} 

它工作正常,但在我的其他 api 中: 这是我的 api 通过 id:

获取数据
    function get_skin_id($skin_id){

    $sql = "SELECT * FROM SkincareProcessInfo WHERE `skincare_process_info_id` = '$skin_id'";

     try{ 
        $db = connect_db();
        $stmt = $db->query($sql);
        $skin = $stmt->fetchAll(PDO::FETCH_ASSOC);
        $db = null; 
         if($stmt == 1){
            echo '{"skin process info": ' . json_encode($skin) . '}';
        }else{
            echo 'false';
        } 

    }catch(PDOException $e){
        echo '{"error":{"text":'. $e->getMessage() .'}}';
    } 
}

这是我得到的错误:

Fatal error: Call to a member function fetchAll() on boolean in C:\xampp\htdocs\SLIM\mirror.php on line 57

试试这个

$db = connect_db();
$query = $db->prepare("SELECT * FROM SkincareProcessInfo WHERE skincare_process_info_id = ?");
$query->execute(array($skin_id));
$fetch = $query->fetchAll(PDO::FETCH_ASSOC);
$rowCount = $query->rowCount();
if($rowCount > 0){
echo '{"skin process info": ' . json_encode($fetch) . '}';
}else{
echo 'false';
}