首页 > 解决方案 > 未从数据库检索到的数据

问题描述

我有这段代码:

<?php
global $wpdb;

$table_name = $wpdb->prefix . 'wpex_programma';
// This retrieves the data from the database
$retrieve_data = $wpdb->get_results( "SELECT Anaam FROM {$table_name}" );
?>
<form action="#" enctype="multipart/form-data" method="post">
    <?php wp_nonce_field( 'set_programma_action', 'set_programma' ); ?>
    <table>
        <?php foreach ( $retrieve_data as $retrieved_data ) { ?>
            <tr>
                <th>Programma:</th>
                <td style="vertical-align: middle;"><?php echo esc_html( $retrieved_data->Anaam ); ?></td>
                <th>
                    <button name="programma" type="submit" value="<?php echo esc_attr( $retrieved_data->Anaam ); ?>">Abonneer</button>
                </th>
            </tr>
        <?php } ?>
    </table>
</form>

<?php
    // Verify nonce and safe the data if the user is logged in.
    // Nonce docs: https://developer.wordpress.org/themes/theme-security/using-nonces/
    if (isset( $_POST['programma'] ) && isset( $_POST['set_programma'] ) && wp_verify_nonce( $_POST['set_programma'], 'set_programma_action' )) {

      $data = filter_input( INPUT_POST, 'programma', FILTER_SANITIZE_STRING );
      $current_user_id = get_current_user_id();

        if ( $current_user_id && ! empty( $data ) ) {
            update_user_meta( $current_user_id, 'programma', $data );
        }
    }
?>

该页面不从数据库返回数据。除了我的导航栏和页脚外,什么都没有显示。我怎么解决这个问题?

检索数据并显示它的代码是:

global $wpdb;

$table_name = $wpdb->prefix . 'wpex_programma';
// Dit haalt de data op uit de database
$retrieve_data = $wpdb->get_results( "SELECT Anaam FROM {$table_name}" );
?>
<form action="#" enctype="multipart/form-data" method="post">
    <?php wp_nonce_field( 'set_programma_action', 'set_programma' ); ?>
    <table>
        <?php foreach ( $retrieve_data as $retrieved_data ) { ?>
            <tr>
                <th>Programma:</th>
                <td style="vertical-align: middle;"><?php echo esc_html( $retrieved_data->Anaam ); ?></td>
                <th>
                    <button name="programma" type="submit" value="<?php echo esc_attr( $retrieved_data->Anaam ); ?>">Abonneer</button>
                </th>
            </tr>
        <?php } ?>
    </table>
</form>

我还将展示我的数据库结构:

我的 wpex_usermeta,选择必须保存在这里:

在此处输入图像描述

我的 wpex_programma。所有程序都保存在这里:

在此处输入图像描述

编辑

echo var_dump($wpdb->prefix);

产量

字符串(5)“wpex_”

我也做了回声var_dump($tablename);,它显示了NULL

标签: phpwordpress

解决方案


在 phpmyadmin 中,您可以测试您的查询。如果您的查询有问题,您将不会得到结果。

因此,转到 phpmyadmin 并打开您的表并单击 sql 选项卡并测试您的查询,直到获得结果。


推荐阅读