Browsing all articles in PHP dan MySQL

Hari ini nyoba live pembelian domain menggunakan API baru Reseller Club (httpapi.com) yang lebih simple dibandingkan dengan API yang lama (SOAP). Nyoba di akun demo berjalan lancar tanpa hambatan eh pas dicoba live kok malah muncul error seperti ini

An unexpected error has occurred

Dilihat dari errornya aja dah bikin pusing, lha wong gak ada keterangan yang error apanya. Selidik punya selidik, curiganya error pada saat authentikasi. Cek konfigurasi yang dibutuhkan kayaknya kagak ada masalah, password bisa dipake buat login, reseller id dah bener. huhuhuhu pusing deh X(.

Iseng-iseng nyoba bandingkan dengan credential akun demo, ternyata password akun demo tidak ada symbolnya sedangkan password live akunnya ada simbolnya, hmmm kali aja ini nih masalahnya. Ganti password akun live tanpa ada simbol dan try again. Dan hasilnya…

BERHASIL BERHASIL BERHASIL

ah dan ternyata masalahnya cuma ada dipassword. So password for resellerclub can’t contain symbol or just alphanumeric. oke lah problem solved.

Awalnya habis ngubah sebuah field yang tadinya integer dan terhubung dengan tabel yang lain, karena berbagai pertimbangan akhirnya harus diubah varchar. Jika tabel mysql tersebut belum ada isinya sih gak jadi masalah, kasus ini tabelnya sudah ada isinya oleh karena itu mau tidak mau harus di update dong isinya kan gak lucu kalo isinya jadi angka. Masalah berikutnya tabel tersebut sudah ke isi yang baru sehingga isinya jadi bervariasi ada yang masih angka dan ada yang sudah dalam bentuk kata. Jadi untuk mengupdatenya kita mesti tahu nilai untuk field tersebut angka atau bukan, kalo angka maka di update, kalo bukan gak usah di update.

Setelah googling ketemu solusi di sini untuk menyeleksi apakan nilai field tersebut angka atau bukan. Caranya adalah dengan menggunakan REGEXP sebagai berikut.

SELECT FIELD FROM TABLE WHERE FIELD REGEXP '^-?[0-9]+$';

Contoh kasus yang saya alami adalah, saya ingin mengupdate tabel users pada field city yang tadinya integer terhubung ke tabel city menjadi varchar. Intinya saya akan mengupdate nilai field city pada tabel user dengan nama city pada tabel city yang nilai field city pada tabel user berupa angka. SQL yang saya gunakan adalah sebagai berikut.

UPDATE users SET city=(SELECT name FROM city WHERE city.id=users.city) WHERE city REGEXP '^-?[0-9]+$'

dan ternyata BERHASIL :)

Abis install wordpress di php 5.3 dan pas mau setting permalink yang keluar malah blank page, kirain dari plugin yang di gunakan, coba non aktifkan plugin dan masih gak bisa juga. Terpaksa setting manual lewat phpmyadmin pada table wp_options dan key permalink_structure. Ok permalink beres :D

Rencana nambahin plugin buat sitemap generator, dari menu Plugins >> Add new, cari dg kata kunci sitemap, pilihan jatuh pada BWP Google XML Sitemaps yang menurut pengakuan si pembuatnya lebih hemat resource. Install deh tuh plugin, download berhasil saatnya aktivasi, tapi pas di klik di link Activate kok keluarnya halaman depat dan tertulis not found. duh kenapa lagi nih… download plugin testing di localhost, lancar2 aja.

Daripada pusing mending nanya simbah aka gugel dg kata kunci wordpress php 5.3 dan ketemu link ini langsung ke bagian bawah dan solusinya adalah matikan extension extension=pdo_sqlite.so dan extension=sqlite.so di file php.ini. Oh ya saya bisa mengubah php.ini karena web saya ada di vps jadi saya punya hak akses untuk mengubah file tersebut. Kalo di shared hosting yang berarti harus menghubungi pihak penyedia jasa hostingnya.

Mau aplikasi PHP kamu bisa mengirim email walaupun kamu menjalankannya di localhost dengan OS Windows? Mau tau caranya? silahkan teruskan membacanya :D .

Untuk mengirim email menggunakan fungsi mail dari localhost yang perlu dilakukan adalah mengubah konfigurasi PHP (file php.ini) pada bagian [mail function] seperti berikut.

[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25
 
; For Win32 only.
;sendmail_from = webmaster@localhost
 
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path = 
 
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

Read more »

Memenuhi permintaan salah satu pemberi komentar pada tulisan ini, kali ini saya akan memberikan sedikit tutorial bagaimana menggabungkan Feed on Feeds dengan CodeIgniter seperti situs ringkasan berita. Feed on Feeds merupakan script PHP yang berfungsi untuk membaca RSS dari suatu website dan menyimpannya dalam database. Sedangkan CodeIgniter merupakan framework PHP yang bisa didapatkan secara gratis. Sebenarnya kita bisa menggunakan framework lain untuk digabungkan dengan Feed on Feeds atau kita juga bisa membuat script sendiri. Penggabungan ini bisa digunakan untuk membuat website rss aggregator. Feed on Feeds berfungsi sebagai pembaca RSS sedangkan codeigniter berfungsi untuk menampilkannya sehingga bisa dilihat oleh orang banyak.

Mengerti PHP dan MySQL adalah syarat yang diperlukan untuk menggabungkan Feed on Feeds dengan CodeIgniter atau dengan framework yang lain. Langkah pertama yang harus dilakukan adalah instalasi feed on feeds. Lakukan installasi feed on feeds pada sebuah direktori (jangan pada root direktori), misalnya yourdomain/feedonfeeds. Setelah installasi selesai anda akan mendapatkan sebuah database dengan enam tabel.

Langkah kedua adalah membuat tabel kategori dan tabel relasi antara table kategori dan table feed. Tabel kategori berfungsi untuk mengkategorikan RSS feed yang kita masukan pada Feed on Feeds, sedangkan tabel ralasi berfungsi untuk menghubungkan antara tabel kategori dengan tabel feed. Dengan tabel relasi ini anda bisa menghubungkan satu kategori dengan beberapa rss feed. Contoh struktur tabel kategori adalah sebagai berikut.

CREATE TABLE `fof_kategori` (
`catid` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`parentid` INT( 11 ) NOT NULL ,
`catname` VARCHAR( 255 ) NOT NULL ,
`published` ENUM( 'N', 'Y' ) NOT NULL DEFAULT 'N'
) ENGINE = MYISAM ;

sedangkan contoh struktur tabel relasinya adalah

CREATE TABLE `fof_kategori2feed` (
  `catid` INT(11) NOT NULL,
  `feed_id` INT(11) NOT NULL,
  KEY `catid` (`catid`),
  KEY `feed_id` (`feed_id`)
) ENGINE=MyISAM;

Langkah terakhir adalah menggunakan CodeIgniter atau yang lain untuk menampilkan feed item dari database. Anda bisa memasang cronjobs untuk mengupdate feed on feeds anda secara otomatis.