WordPress PHP запрос get_results из MySQL БД не работает - PullRequest
0 голосов
/ 13 июля 2020

Я использую следующий код PHP, чтобы попытаться получить значения из БД всех записей с идентификатором, равным 5055. Он не возвращает никакого результата, и я не уверен, что не так .. .

<?php
function displayMyLinks() {
global $wpdb;
 
$results = $wpdb->get_results ( " SELECT * FROM $wpdb->sm_links WHERE ID = 5055 " );
foreach ( $results as $link )
{
    //NOT WORKING
    echo $link->ID;
    echo $link->url;
    echo $link->description;
    echo $link->favourite;
    
}
}

1 Ответ

1 голос
/ 13 июля 2020

Я полагаю, это локальная веб-страница, над которой вы работаете. Если да, то вот несколько приемов отладки:

function displayMyLinks() {
    global $wpdb;
    $sql = "SELECT * FROM %s WHERE ID = %d";

    $results = $wpdb->get_results(sprintf($sql, $wpdb->sm_links, 5055));
    if (! count($results)) {
        var_dump($wpdb);
    }

    foreach ($results as $link) {
        var_dump($link);
    }
}

Возможно, стоит проверить запрашиваемую таблицу, чтобы убедиться, что вы запрашиваете столбцы, которые там существуют:


    global $wpdb;
    $sql = "describe $wpdb->sm_links";
    var_dump($wpdb->get_results($sql));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...