Missing argument 2 for wpdb::prepare() Hatasının Çözümü

Yükleniyor

WordPress 3.5’ten itibaren en az iki parametre girilmesi gereken bir sınıf metodu olan wpdb::prepare()’e tek bir parametre girilme ortaya çıkan ”

Warning: Missing argument 2 for wpdb::prepare()” hatasının çözümü.

Sorunun çözümü aslında hatanın içerisinde gizli. wpdb::prepare()’in WordPress 3.5’ten itibaren kullanılması gereken şekli şu hale geldi

$wpdb->query(
	$wpdb->prepare(
		"
                DELETE FROM $wpdb->postmeta
		 WHERE post_id = %d
		 AND meta_key = %s
		",
	        13, 'bir_ozel_alan'
        )
);

Fakat siz şuna benzer bir koda sahip tema kullanıyorsanız hatayla karşılaşıyorsunuzdur.

$wpdb->query(
	$wpdb->prepare(
		"
                DELETE FROM $wpdb->postmeta
		 WHERE post_id = 13
		 AND meta_key = 'bir_ozel_alan'
		"
        )
);

Burda püf noktası güvenlik açığı oluşturmamak amacıyla %s, %f, %d gibi şeyler kullanmak. string (yazı) için %s, sayılar için %d, ondalık sayılar içinse %f kullanabilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir