Các khóa học lập trình iOS Objective-C, lập trình iOS Swiftlập trình iOS Swift kết nối Web Service có sẵn toàn bộ mã nguồn, hướng dẫn chi tiết từng bước và được trình bày rất dễ hiểu.

Hôm nay chúng ta sẽ xem làm thế nào để kết nối tới MySQL server với xcode thông qua file php
Để hoàn thành bài này các bạn cần cài đặt xampp server tại:
http://www.apachefriends.org/en/xampp.html
(chọn phiên bản cho Mac OS X)
Sau khi cài đặt và start, truy cập địa chỉ:
http://localhost/xampp/
nếu hiện lên màn hình như bên dưới là đã cài đặt thành công

Lập trình iOS kết nối MySQL

Chọn phpMyAdmin ở thanh bên trái để truy cập CSDL. Tạo bảng có tên là test, table tên demo với 2 trường id và name như hình sau:

Lập trình iOS cơ bản

Mở một trình soạn thảo code bất kỳ tạo file: phpFile.php và lưu tại: Finder/Applications/XAMPP/htdocs
với nội dung như sau:

<?php
/*
Tech Master
Aug, 2012
*/
	$DB_HostName = "localhost"; // ten host
	$DB_Name = "test";			// ten database
	$DB_User = "root";			// user phpMyAdmin (default là root)
	$DB_Pass = "";				// password phpMyAdmin (default để trống)
	$DB_Table = "demo";			// tên bảng	

	if (isset ($_GET["name"]))
		$name = $_GET["name"];
	else
		$name = "martindinh";

	$con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die(mysql_error()); 
	mysql_select_db($DB_Name,$con) or die(mysql_error()); 
	$sql = "insert into $DB_Table (name) values('$name');";
	$res = mysql_query($sql,$con) or die(mysql_error());

	mysql_close($con);
	if ($res) {
		echo "success";
	}else{
		echo "faild";
	}// end else

?>

Sau khi lưu fiel truy cập địa chỉ

http://localhost/phpFile.php
nếu màn hình thong báo success là đã kết nối thành công, nếu faild thì bạn kiểm tra lại các config tên DB, tên table …

Bước tiếp theo mở xcode tạo Single View Application project
Mở file ViewController.h tạo một TextField để nhập dữ liệu và một button để insert dữ liệu vào DB

// create property for text field:
@property (nonatomic, retain) IBOutlet UITextField *txtName;
// create ibaction for insert button:
-(IBAction)insert:(id)sender;

Quay sang ViewController.m thêm đoạn code sau đây trước viewDidLoad ()

@synthesize txtName;

Trong hàm Insert, chúng ta sẽ sử dụng phương thức dataWithContentsOfURL của NSData để gửi một HTTP request kiểu GET đến máy chủ PHP. Dữ liệu sẽ được truyền dạng tham số trong query string của đường dẫn URL: http://localhost/phpFile.php?name=%@

- (IBAction)insert:(id)sender
{
    // create string contains url address for php file, the file name is phpFile.php, it receives parameter :name
    NSString *strURL = [NSString stringWithFormat:@"http://localhost/phpFile.php?name=%@",txtName.text];

    // to execute php code
    NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];

    // to receive the returend value
    NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

    NSLog(@"%@", strResult);
}

Vào ViewController.xib kéo thả RoundRectButton và TextField rồi kết nối tới các thuộc tính đã tạo ở ViewController.h

Build and Run project
Nhập chuỗi vào TextField vào bấm nút Insert, nếu màn hình console hiện success là đã thành công.
Quay trở lại phpMyAdmin xem bản ghi vừa mới insert vào.
Source Code:
http://www.mediafire.com/?ueuew8xd237mhba
Chúc các bạn thành công !