2011-12-20 53 views
0

我創建了wordpress主題。我在textarea裏面得到這個錯誤:嘗試在非對象上獲取屬性。「試圖在非對象上獲取屬性」在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 

我想不出什麼我做錯了。感謝您的任何建議!

回答

1

查詢可能不會返回任何符合給定條件的行,換句話說該表不存在於表中。您可以從mysql命令行運行查詢,查看它是否返回任何內容。您可能需要將空()調用更改爲is_object():

$val = is_object($info) ? htmlspecialchars($info->link) : ''; 
相關問題