Как получить данные из базы данных из Xcode (swift) - PullRequest
0 голосов
/ 08 февраля 2020

У меня вопрос по поводу получения данных от MySQL. Я могу разместить данные в базе данных через приложение и с помощью PHP. Более того, я могу получать данные из базы данных через данные JSON, и веб-сервер также может четко отображать данные. Однако в моем XCode я не могу получить данные, поэтому я подозреваю, что код в XCode неверен.

Это JSON данные:

 <?php
        require_once("info.php");

    $sql = "SELECT * FROM test ORDER BY id DESC LIMIT 1";

    $response = array();
    $posts = array();
    $result = $dbconnect->query($sql);

    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()){
            $id = $row['id'];
            $water = $row['water'];
            $posts[] = array('id' => $id, 'water'=>$water);

        }
        $response['data'] = $posts;

        $data = $response['data'];
        $water = $data[0]['water'];
        echo json_encode($water);


    }
?>

Это Xcode:

 @objc func GetFromServer() {
        let nsUrl = URL(string: urlString)
        let session = URLSession.shared
        let task = session.dataTask(with: nsUrl!, completionHandler: { (data, response, error) -> Void in
            do {
                let jsonData = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! [String:AnyObject?]
                if let arrayData = jsonData["data"] as? [[String: AnyObject]] {
                    // Remove all previous data.
                    self.tableData.removeAll()
                    for data in arrayData {
                        self.tableData.append(data as! [String : String])
                    }
                    DispatchQueue.main.async{
                        let water = "\(self.tableData[0]["water"]!)"
                        print("Data: \(water)")
                            serial.sendMessageToDevice("\(water)")
                    }
                }
            } catch {
                // Error.
            }
        })
        task.resume()
    }

Спасибо за все ответы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...