0

如题

这是我的代码

h.文件

#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

和 m.file

"aaa" 是从另一个视图控制器中分离出来的字符串

#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

我删除了一些不需要使用的代码~

最后是我的 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();

我可以将两个值传递给数据库

但我不能传递三个值............

请帮帮我!!

4

2 回答 2

1

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

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

于 2012-11-15T06:55:21.317 回答
0
$user_name = $_GET["name"]; 
$commentary = $_GET["message"]; 
$stores_num = $_GET["num"]; 

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

如果您未在查询中列出字段,则它们不一定按您期望的顺序添加;尝试显式添加字段名称:

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

如果 num 是一个自动增量字段,你甚至不需要它:

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

然而

您正在使用mysql_*函数,这些函数已被弃用。您应该考虑迁移到PDOor mysqli_- 它们都将帮助您编写更安全的代码。

于 2012-09-15T14:48:34.637 回答