Php ASIHTTPRequest问题-无法将数据发布到数据库
我正在尝试构建一个objective C应用程序,它使用ASIHTTPRequest将数据发布到远程数据库。目前,我正在使用MAMP服务器,并且正在努力使其正常工作。php文件在联机运行时可以工作,但我在让iphone应用程序将数据发布到php文件时遇到问题。这是我的密码: dbconnect.hPhp ASIHTTPRequest问题-无法将数据发布到数据库,php,iphone,objective-c,xcode,asihttprequest,Php,Iphone,Objective C,Xcode,Asihttprequest,我正在尝试构建一个objective C应用程序,它使用ASIHTTPRequest将数据发布到远程数据库。目前,我正在使用MAMP服务器,并且正在努力使其正常工作。php文件在联机运行时可以工作,但我在让iphone应用程序将数据发布到php文件时遇到问题。这是我的密码: dbconnect.h #import <Foundation/Foundation.h> @interface dbconnect : NSObject { } -(void) postToDB:(NS
#import <Foundation/Foundation.h>
@interface dbconnect : NSObject {
}
-(void) postToDB:(NSString*) msg;
@end
main
#import <UIKit/UIKit.h>
#import "dbconnect.h"
int main(int argc, char *argv[]) {
dbconnect* dbc;
dbc = [[dbconnect alloc]init];
[dbc postToDB:@"TESTING"];
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
@结束除此之外,您的请求永远不会执行。确保在请求对象上调用
startSynchronous
或startSynchronous
。请考虑阅读《ASIHTTPRequest指南》。确保在请求对象上调用startSynchronous
或startSynchronous
。请考虑阅读《ASIHTTPRequest指南》。你有没有考虑过,主要原因是造成问题的原因?您正在尝试执行所有数据操作,但尚未调用UIApplicationMain。您确定所有数据连接都已设置吗?也许您应该创建一个带有按钮的视图,并“正确地”测试它。您是否认为与main的混淆是问题的原因?您正在尝试执行所有数据操作,但尚未调用UIApplicationMain。您确定所有数据连接都已设置吗?也许您应该创建一个带有按钮的视图,并“正确地”测试它。我建议不要从main()
进行测试,而是将请求放在应用程序委托的applicationdFinishLaunching
中。我也不确定是否可以使用绝对路径而不是本地主机来处理MAMP。我建议不要从main()
进行测试,而是将请求放在应用程序委托的ApplicationIDFinishLaunching
中。我也不确定是否可以使用绝对路径而不是本地主机来寻址MAMP。
#import <UIKit/UIKit.h>
#import "dbconnect.h"
int main(int argc, char *argv[]) {
dbconnect* dbc;
dbc = [[dbconnect alloc]init];
[dbc postToDB:@"TESTING"];
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
<?php
//connect to database
function connect() {
$dbh = mysql_connect ("localhost", "root", "root") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db("testers", $dbh);
return $dbh;
}
//store posted data
if(isset($_POST['message'])){
$message = $_POST['message'];
$dbh = connect();
$query = "INSERT INTO messages (message) VALUES ('$message')";
$result = mysql_query( $query ) or die ("didn't query");
}
?>
@implementation dbconnect
-(void) postToDB:(NSString*) msg{
NSString *myphp = @"/Applications/MAMP/htdocs/databases/test.php";
NSURL *url = [NSURL URLWithString:myphp];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:msg forKey:@"message"];
[request startAsynchronous];
}