简体   繁体   中英

How can I pass the values to phpmyadmin database?

As title

here its my codes

h.file

#define kPostURL @"http://localhost/discuss.php"
#define kName @"name"
#define kMessage @"message"
#define kNum @"num"

@interface TestDisViewController : UIViewController{

IBOutlet UITextField *nameText;
IBOutlet UITextView *messageText;
NSURLConnection *postConnection;

UILabel *bbb;
}

@property(strong, nonatomic)IBOutlet UILabel *bbb;
-(IBAction)post:(id)sender;
@property(weak) NSString *aaa;

@end

and m.file

"aaa" is the string that segue from another viewcontroller

#import "TestDisViewController.h"
#import "EatDiscussViewController.h"
@implementation TestDisViewController

@synthesize aaa;
@synthesize bbb =bbb;


-(void) postMessage:(NSString*) message Name:(NSString *) name withNum:(NSString *) num{


if (name != nil && message != nil  && num != nil){

    NSMutableString *postString = [NSMutableString stringWithString:kPostURL];
    [postString appendString:[NSString stringWithFormat:@"?%@=%@", kName, name]];
    [postString appendString:[NSString stringWithFormat:@"&%@=%@", kMessage, message]];
    [postString appendString:[NSString stringWithFormat:@"#%@=%@", kNum, num]];
    [postString setString:[postString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:postString]];
    [request setHTTPMethod:@"POST"];
    postConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];

}

- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"Taaaaaaaaab:%@",aaa);
self.bbb.text=aaa;
}

}

-(IBAction)post:(id)sender{

[self postMessage:messageText.text Name:nameText.text withNum:bbb.text];
[messageText resignFirstResponder];
messageText.text = nil;
nameText.text = nil;
bbb.text=nil;
[self.navigationController popViewControllerAnimated:YES];

}

@end

i delete some codes that doesn't need to use~

and finally my php.code


@mysql_select_db($database) or die("Error");

$user_name = $_GET["name"];

$commentary = $_GET["message"];

$stores_num = $_GET["num"];

$query = "INSERT INTO comment VALUES ('', '$stores_num' , '$user_name' , '$commentary')";

mysql_query("SET NAMES 'utf8'");

mysql_query($query) or die (mysql_error("error"));

mysql_close();

i can pass two values to database

but i cant pass three values........

plz help me!!

Error: [postString appendString:[NSString stringWithFormat:@"#%@=%@", kNum, num]];

Repair:[postString appendString:[NSString stringWithFormat:@"&%@=%@", kNum, num]];

$user_name = $_GET["name"]; 
$commentary = $_GET["message"]; 
$stores_num = $_GET["num"]; 

$query = "INSERT INTO comment VALUES ('', '$stores_num' , '$user_name' , '$commentary')"

If you don't list the fields in your query, they're not necessarily added in the order you expect; try explicitly adding the field names:

$query = "INSERT INTO comment (num, stores_num, user_name, commentary) VALUES ('', '$stores_num' , '$user_name' , '$commentary')"

If num is an auto-increment field, you don't even need that:

$query = "INSERT INTO comment (stores_num, user_name, commentary) VALUES ('$stores_num' , '$user_name' , '$commentary')"

HOWEVER

You're using mysql_* functions, and these are being deprecated. You should look at moving to PDO or mysqli_ - they will both help you write more secure code.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM