У меня вопрос по поводу получения данных от 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()
}
Спасибо за все ответы