Tidak ada API Objective-C yang disediakan Apple untuk MySQL. Namun, ada beberapa pembungkus C API pihak ketiga. Lihat MySQL-Cocoa Framework , misalnya.
Mengingat keakraban Anda dengan PHP dan C API, mungkin lebih mudah bagi Anda untuk menggunakan C API. Anda harus menangani konversi antara objek dan tipe data C, tetapi ini tidak banyak berhasil.
Sunting
Anda mogok karena nilai baris yang dikembalikan oleh API mysql bukan objek, dan string format Anda memberi tahu NSLog
untuk memperlakukannya sebagai satu. %@
adalah placeholder format-string untuk objek, bukan tipe data C.
Tidak jelas apa nilainya dalam kasus ini. Konteksnya tampaknya menyiratkan bahwa itu adalah data gambar. Jika demikian, Anda mungkin ingin membuat NSData
objek dari blob yang dikembalikan oleh kueri, mis.:
NSData *imageData;
imageData = [[ NSData alloc ] initWithBytes: row[ i ] length: lengths[ i ]];
NSLog( @"imageData: %@", imageData );
/* ...create NSImage, CGImage, etc... */
[ imageData release ];
Jika bidang hasil Anda hanya berupa string, gunakan NSString
-initWithBytes:length:encoding:
metode:
NSString *s;
s = [[ NSString alloc ] initWithBytes: row[ i ] length: lengths[ i ]
encoding: NSUTF8StringEncoding ];
NSLog( @"result column %d: %@", i, s );
[ s release ];