代码不在wordpress上显示结果

时间:2017-02-08 12:27:28

标签: php mysql database wordpress

我是WordPress的新手,我正在尝试使用 wpdb 从数据库中检索数据。

我已经创建了一个自定义模板以添加PHP代码,但是当我尝试显示检索到的数据时,它没有显示任何内容。

错误在哪里?

搜索info.php

 <?php
/*
Template Name: search info
*/

get_header();

global $wpdb;  
$result = $wpdb->get_var('select owner-name from owner-info where owner-id= 5');
echo $result;

get_footer();
?>

4 个答案:

答案 0 :(得分:1)

在wordpress中,每个表名中都有一个表格前缀(默认为:&#39; wp _&#39;或者您已提供),请查看&amp;如果需要,请在表格名称中包含,然后您的表格名称将为&#39; wp_owner-info&#39; &安培;如果&#39; wp _&#39;未在表名中添加,请保持原样。

代码将是:

使用前缀,即table_name = wp_owner-info

#include<stdio.h>
#include<stdlib.h>
struct lista{
    int data;
    struct lista *next;
    struct lista *prev;
};

struct lista *push(struct lista *head, struct lista *x){
    x->next = head;
    x->prev = NULL;
    if(head!=NULL)
        head->prev=x;
    return x;
}

void show(struct lista *head){
    while(head!=NULL){
        printf("%d\n", head->data);
        }
    head = head->next;
}

int main(){
    struct lista *head = NULL, *x = NULL;
    x = (struct lista*)malloc(sizeof(struct lista));
    x->data = 123;
    head = push(head, x);
    show(head);

    return 0;
}

OR

现在没有前缀,即table_name =&#39; owner-info&#39;

body, table.body, p, td, th {
font-size: 16px;
line-height: 0.8;
}

我希望,这对你有用。

答案 1 :(得分:0)

尝试使用全局varibale $ wpdb的自定义查询,您可以在查询中使用表名的动态数据库前缀作为分区方法

$tablename = $wpdb->owner-name;
$ownerID = 5;
$query = $wpdb->prepare( "SELECT * FROM $tablename WHERE owner-id=%s",$ownerID );
$result = $wpdb->get_results( $query );

答案 2 :(得分:0)

如果显示空白或白页。那么你需要启用wordpress调试模式来了解你的代码有什么问题。 启用WP调试

  1. 在WordPress根目录下打开wp_config.php文件。
  2. 查找define('WP_DEBUG',false);并将其设置为true。 示例define('WP_DEBUG',true);
  3. 刷新WordPress页面。在这里你收到了错误信息。在此处发布您的错误消息。我们会给你修复。你可以自己解决它:)

答案 3 :(得分:0)

我不知道您的表结构,但短划线-不是表名或列名中的有效字符。将其替换为适当的char,很可能是下划线_,因此它变为

$result = $wpdb->get_var('select owner_name from owner_info where owner_id= 5');

如果名称确实包含-,则必须使用反引号引用标识符,有关详细信息,请参阅MySQL - Schema Object Names

$result = $wpdb->get_var('select `owner-name` from `owner-info` where `owner-id`= 5');