我是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();
?>
答案 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调试
刷新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');