وردپرس

Problem with db query LIKE


I followed the example in https://developer.wordpress.org/reference/classes/wpdb/esc_like/ but this code:


// Remove all page ids from album/photo info for post $ID
function wppa_remove_usedby( $ID ) {
global $wpdb;

	if ( ! wppa_is_posint( $ID ) ) {
		wppa_log( 'err', 'Illegal id in wppa_remove_usedby()' );
		return;
	}
	
	$wild = '%';
	$find = '.' . strval( $ID ) . '.';
	$like = $wpdb->esc_like( $find );
	
	// The albums
	$query = $wpdb->prepare( "SELECT * FROM WPPA_ALBUMS where usedby LIKE %s", $wild . $like . $wild );
	$albums = $wpdb->get_results( $query, ARRAY_A );

...

always returns an empty array, even when $ID is 5

The results of SELECT usedby FROM wp_wppa_albums where usedby <> '' in PHPMyMyAdmin is:



.5.
.3742.
.694.
.694.
.5.694.
.5.
.5.
.5.
.5.
.3742.

So i expect 6 items.

What am i doing wrong???

FYI:


/* Choose the right db prifix */
if ( is_multisite() && WPPA_MULTISITE_GLOBAL ) {
	$wppa_prefix = $wpdb->base_prefix;
}
else {
	$wppa_prefix = $wpdb->prefix;
}

/* DB Tables */
define( 'WPPA_ALBUMS',   $wppa_prefix . 'wppa_albums' );
$wpdb->wppa_albums = WPPA_ALBUMS;
...

این خبر را در ایران وب سازان مرجع وب و فناوری دنبال کنید

مشاهده پاسخ های این مطلب
———————————————
این مطلب از سایت انجمن وردپرس گردآوری شده است و کلیه حقوق مطلق به انجمن وردپرس می باشد در صورت مغایرت و یا بروز مشکل اطلاع دهید تا حذف گردد

منبع: انجمن وردپرس

دکمه بازگشت به بالا