РЕДАКТИРОВАТЬ: НОВЫЙ ВОПРОС ВНИЗУ. Я получил все строки, я был неправ. Я пытаюсь получить результаты SQL-запроса и поместить их в объект json для отправки на мой сервер, чтобы выполнить дополнительную работу с данными. Сейчас мой код возвращает только 1 строку данных. Может кто-нибудь увидеть вопиющие ошибки? СТОРОНА IOS
- (void)sendLogin
{
NSError *jsonError;
NSData *requestdata;
//get login
NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [docPaths objectAtIndex:0];
NSString *dbPath = [documentsDir stringByAppendingPathComponent:@"tar.sqlite"];
FMDatabase *database = [FMDatabase databaseWithPath:dbPath];
[database open];
FMResultSet *Loginresults = [database executeQuery:@"SELECT * FROM surveys"];
NSMutableArray *results = [NSMutableArray array];
while ([Loginresults next]) {
[results addObject:[Loginresults resultDictionary]];
requestdata = [NSJSONSerialization dataWithJSONObject:results options:0 error:&jsonError];
}
[database close];
NSURL *url = [NSURL URLWithString:@"http://server/insert.php"];
NSMutableURLRequest *request;
request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:[NSString stringWithFormat:@"%d", [requestdata length]] forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:requestdata];
//this kicks off the request asynchronously
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
}
СТОРОНА PHP
<?php
$foo = file_get_contents("php://input");
var_dump(json_decode($foo, true));
?>
Результаты этого
finish requesting: array(1) {
[0]=>
array(7) {
["desc"]=>
string(13) "matt the best"
["creator"]=>
string(7) "eric jr"
["synch"]=>
NULL
["name"]=>
string(4) "matt"
["sid"]=>
string(1) "1"
["datetime"]=>
string(3) "now"
["pid"]=>
string(1) "1"
}
}
Также я заметил, что мои результаты для этой таблицы не в правильном порядке. Это работает как задумано? Есть ли способ заказать это, чтобы оно соответствовало порядку столбцов?