我正在创建wordpress主题。我在textarea中得到了这个错误:试图获取非对象的属性。
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
我无法弄清楚我做错了什么。谢谢你的建议!
答案 0 :(得分:1)
查询可能没有返回符合给定条件的任何行,换句话说,表中不存在该行。您可以从mysql命令行运行查询,看它是否返回任何内容。您可能希望将empty()调用更改为is_object():
$val = is_object($info) ? htmlspecialchars($info->link) : '';