Array/Dict Von Xcode auf JSON, PHP, mySql

Dies treibt mich Nüsse. Es scheint so einfach, und ich bin wahrscheinlich etwas fehlt offensichtlich - und das vermute stark es ist, da meine PHP/mysql Kenntnisse fehlen, aber ich kann nicht ankommen es zu wirken. Ich habe mir schwer anderswo (und gestohlen) eine Anzahl von code-snippets von StackOverflow versuchen, das Problem zu lösen, aber ich bin noch nicht überzeugt, ich habe es zu arbeiten.

Vom Xcode-ich bin versucht zu Kodieren ein NSDictionary-Objekt in JSON (JSON-framework), so dass ich dynamisch speichern, array in mysql (ideal als einzelner flacher Objekt - ich weiß, ich weiß) mit der PHP Methode POST.

Code ist unten. Kann ich die json-ok. Ich kann verbinden Sie ok, ändern kann ich Variablen, die nicht-array-Variablen &, die nicht brauchen, zu senden via json, kann ich einfach über alles. Ich kann nicht scheinen zu gehen, dass json und speichern in mysql.

Ja - ich bin ein noob.

... Thx

Ich habe so weit gekommen:

in xcode

NSDictionary *loginDict = [NSDictionary dictionaryWithObjectsAndKeys:
                                @"aname", @"username",
                                @"hello", @"password", 
                                nil];   


    NSString *jsonString = [loginDict JSONRepresentation];
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    NSString *post = [NSString stringWithFormat:@"json=%@", jsonString];
    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:NO];

    [request setURL:[NSURL URLWithString:@"http://domain.com/post_dict.php"]];
    [request setHTTPMethod:@"POST"];

    [request setHTTPBody:postData];

    [[NSURLConnection alloc] initWithRequest:request delegate:self];

an post_dict.php

<?php

$rawJsonData = $_POST['json'];
$decodedData = json_decode($rawJsonData); //do i even need to decode if i want to store a flattened json object in mysql?


//Connect To Database
$hostname='**BLACKEDOUT**.com';
$username='**BLACKEDOUT**';
$password='**BLACKEDOUT**';
$dbname='**BLACKEDOUT**';
$usertable='users';
//I want to update the Records field with the array
$recordsfield = 'Records';


mysql_connect($hostname,$username, $password) OR DIE ('Unable to connect to database! Please try again later.');
mysql_select_db($dbname);


$query = "UPDATE $usertable SET $recordsfield = '$decodedData' ";//do i encode? serialize? dunno

$result = mysql_query($query);


  if(!$result)
    {
      mysql_close();
      echo mysql_error();
      return;
    }

  mysql_close();


?>
InformationsquelleAutor James Jesst | 2010-12-10
Schreibe einen Kommentar