我正在创建wordpress主题。我在一个文本区域内得到这个错误:试图在一个非对象上获得属性。
function add_map_url($post){
global $wpdb;
$info = $wpdb->get_var("SELECT * FROM $wpdb->contacts WHERE ID= $post->ID LIMIT 1");
$val = !empty($info) ? htmlspecialchars($info->link) : '';
echo '<textarea name="link" rows="6" cols="30">'.$val.'</textarea>';
}
似乎导致错误的问题是:$info->link
。如果我要修改代码:
function add_map_url($post){
global $wpdb;
$info = $wpdb->get_var("SELECT * FROM $wpdb->contacts WHERE ID= $post->ID LIMIT 1");
//$val = !empty($info) ? htmlspecialchars($info->link) : '';
echo '<textarea name="link" rows="6" cols="30">'.$info.'</textarea>';
}
它正在工作并给出contacts ID
。
表contacts
如下:
contacts
ID link
我不知道我做错了什么。谢谢你的建议! 查询可能没有返回任何符合给定条件的行,换句话说,该表中不存在行。您可以从mysql命令行运行查询,看看它是否返回任何内容。您可能希望更改对is_object()的empty()调用:
$val = is_object($info) ? htmlspecialchars($info->link) : '';