问题
I would like to get an integer from mysql call as per call below, and then compare if the value is 0 or 1, I seem to have issues with the NSSTRING and NURL...please help
When I set mysql with value = 1, I still don't get an utput on NSLOG
NSURL *database_flag_query;
NSString *database_flag;
database_flag_query = [NSURL URLWithString: [NSString stringWithFormat: @"http://192.168.0.20/iqkradio_stream_ip.php"]];
database_flag = [NSString stringWithContentsOfURL:database_flag_query encoding:NSASCIIStringEncoding error:&error];
if([database_flag isEqualToString: @"1"])
{NSLog(@"flag = 1");}
new code
database_flag_query = [NSURL URLWithString:@"http://192.168.0.20/iqkradio_stream_ip.php"];
database_flag = [NSString stringWithContentsOfURL:database_flag_query encoding:NSASCIIStringEncoding error:&error];
NSLog(database_flag);
if([database_flag isEqualToString: @"1"])
{NSLog(@"flag is set");}
also here is my mysql query
mysql_select_db("qkradio", $con);
$result = mysql_query("select flag from iqkradio" );
while($row = mysql_fetch_array($result)) {
echo $row['flag'];
回答1:
Based on the comments, you have some extra whitespace/newlines added to the end of the output.
You can trim that as follows:
database_flag = [NSString stringWithContentsOfURL:database_flag_query encoding:NSASCIIStringEncoding error:&error];
if (database_flag) {
database_flag = [database_flag stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"database_flag = '%@'", database_flag);
if ([database_flag isEqualToString: @"1"]) {
NSLog(@"flag is set");
}
} else {
NSLog(@"Error: %@", error);
}
来源:https://stackoverflow.com/questions/15983768/parse-integer-from-mysql-query-in-xcode