2011-12-20 4 views
0

私はワードプレスのテーマを作成しています。私はテキストエリア内でこのエラーを受け取ります:非オブジェクトのプロパティを取得しようとしています。"非オブジェクト上のプロパティを取得しようとしています"

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 
ID  link 

:よう

テーブルcontactsが見えます。アドバイスありがとう!

答えて

1

クエリは、指定された条件に一致する行を返さない可能性があります。つまり、行はテーブルに存在しません。 mysqlコマンドラインからクエリを実行し、何かを返すかどうかを確認することができます。 empty()呼び出しをis_object()に変更することができます。

$val = is_object($info) ? htmlspecialchars($info->link) : ''; 
関連する問題