وردپرس
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;
...
مشاهده پاسخ های این مطلب
———————————————
این مطلب از سایت انجمن وردپرس گردآوری شده است و کلیه حقوق مطلق به انجمن وردپرس می باشد در صورت مغایرت و یا بروز مشکل اطلاع دهید تا حذف گردد
منبع: انجمن وردپرس