繁体   English   中英

xcode使用PhP更新mysql远程数据库

[英]xcode updating mysql remote database using PhP

我一直在遵循这个出色的教程,并获得了处理大多数数据库传输的代码。 现在,我想使用相同的方法将长文本消息和图像更新到我的服务器MySQL数据库上,但似乎不起作用。

NSString *strURL = [NSString stringWithFormat:@"http://mydomain.com/sync.php?name=%@&message=%@&image=%@",nameField.text, messageField.text, image];

接着

NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];

NSString *strResult = [[[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding] autorelease];
NSLog(@"StrResult is... %@", strResult);

问题1:当messageField.text是一个长文本且之间有空格时,例如“这是一种自由文本格式,最多可包含1000个字符...” ,这将导致strURL也具有空格,从而导致strResult将变为空。

问题2: 图像具有Blob格式,我已经保存在本地sqlite中。 我什至不确定以这种方式转移是否是个好主意。 但基本上我想将图像从iPhone / iPad直接上传到服务器MySQL数据库中。

希望有人可以帮助我解决这两个问题之一。 还是有更好更好的替代方法来更新服务器上的MySQL? 谢谢!

问题1:通过GET请求发送参数时,需要转义参数以避免非法字符。 顺便说一句,您不能通过这种请求发送无限的数据。 对于大量数据,您应该使用POST请求。

问题2: ASIHTTPRequest是用于与远程服务器通信的包装器。 如果您选择使用它(建议您这样做),那么这里是您发布POST请求所需的文档。 还有一个使用NSData将映像发送到远程服务器的示例。

问题1:有很多方法可以执行此操作...其中之一是当您将其放入数据库时​​执行此操作:

messageField.text = [messageField.text stringByReplacingOccurrencesOfString:@" " withString:@"_"];

将文本输入:“这是一种自由文本格式,最多可包含1000个字符...”,将其显示为:“ This_is_a_free_text_format_with_up_to_1000_characters ...”

然后,当您再次将其从数据库中取出时,请使用相反的代码:

messageField.text = [messageField.text stringByReplacingOccurrencesOfString:@"_" withString:@" "];

这使得它从“ This_is_a_free_text_format_with_up_to_1000_characters ...”到“这是一种最多包含1000个字符的自由文本格式...”

但是请记住,这是一种实现方式...您也可以将“ _”替换为“ I ”之类的东西或您想要的任何东西..用户不会输入的内容...

问题2:我对数据库和图像了解不多..但是: Blob

:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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