2016-04-14 14 views
0

Özel alanları güncellemeliyim, wordpress kullanarak bir sorgulama yaptım ve bir satır döndürdü, satır bir nesne gibi görünüyor ve ileti kimliğini bundan çıkaramıyorum.WP Sorgusu'nda ileti alma kimliği

$wpdb->query('SELECT * FROM wp_posts WHERE post_title = "' . $result['name'] . '" AND 
post_status = "publish"'); 
if ($wpdb->num_rows) { 
    update_field('field_570e529aa4a41', $result['runs'], $post_id); 
    update_field('field_570e52a7a4a42', $result['wins'], $post_id); 
    //echo '<pre>'; 
    //print_r($wpdb); 
    //echo '</pre>'; echo 'This Horse is already in the database so we 
    //just updated its statistics'; 
} else { 

} 
+1

$ wpdb' ne döndürüyor? Bu sonucu print_r 'yapabilir misiniz? – Milap

cevap

2

Sorun $wpdb->query ancak onun dönüş nesnesi kullanarak sorgu yürütme olduğunu.

SOL 1: ikinci parametre ile

kullanımlar $wpdb->get_results() kayıt kümesi tip ARRAY_A

$SQL = "your query here"; 
$result = $wpdb->get_results($SQL, ARRAY_A); 

$post_id = $result['ID']; // with single record set. 

veya birden çok kaydı geri olan foreach döngü kullanılır. senin koduyla

foreach($result as $val) { 

$post_id = $val['ID']; 
echo $post_id.'<br>'; 
} 

SOL 2: Tek bir sonuç için sorgulama değil

$rows = $wpdb->query('SELECT * FROM wp_posts WHERE post_title LIKE "' . $result['name'] . '" AND post_status = "publish"'); 
     if ($rows) { 
      foreach ($rows as $key => $rc) { 
       update_field('field_570e529aa4a41', $result['runs'], $rc->ID); 
       update_field('field_570e52a7a4a42', $result['wins'], $rc->ID); 
      } 
     } 
1
$fivesdrafts = $wpdb->get_results('SELECT * FROM wp_posts WHERE post_title = "' . $result['name'] . '" AND post_status = "publish"' 
); 

foreach ($fivesdrafts as $fivesdraft) 
{ 
    echo $fivesdraft->ID; 
} 
2

, bir liste yerine yani gideceksin içinden döngü, böyle bir şey:

$results = $wpdb->get_results('SELECT * FROM wp_posts WHERE post_title = "' . $result['name'] . '" AND post_status = "publish"'); 
    if ($results) { 
     foreach($results as $key => $row) { 
     update_field('field_570e529aa4a41', $result['runs'], $row->ID); 
     update_field('field_570e52a7a4a42', $result['wins'], $row->ID); 
     } 
    } 
+0

Thats it! Sorunu çözdüğüm için $ key = $ satırına bakmam ve araştırmam gerek! teşekkür ederim. –

İlgili konular