2017-02-13 10 views
0

с помощью SQL-запроса для извлечения данных из 2 таблиц с использованием присоединиться не работают, как я хочу, это используется запрос:SQL-запрос для извлечения данных из 2 таблиц с помощью присоединиться

$result2 = $wpdb->get_results('select site_info.siteID, owner_info.ownerNAME, 
          site_info.siteNAME, site_info.equipmentTYPE 
          from `site_info` 
           INNER JOIN `owner_info` on site_info.ownerID = owner_info.ownerID 
          where owner_info.ownerID = 159'); 
foreach($result2 as $result) { 
    echo join(', ', $result), '<br/>'; 
    echo "<br/>"; 
} 

, где я извлечение данных из 2 но результат:

Warning: join(): Invalid arguments passed in /opt/lampp/htdocs/wordpress/wp-content/themes/wp-portfolio/search-info.php on line 43 

Если кто-нибудь может сказать мне, что я делаю неправильно.

+0

Не могли бы вы попробовать выполнения запроса в консоли MySQL и посмотреть, если это возвращает какой-либо результат? –

+0

да, я уже пробовал, и он возвращает требуемый результат ... проблема в функции join(), но я не знаю, в чем проблема –

ответ

0

присоединиться() является функцией PHP псевдоним взрываться()

http://php.net/manual/en/function.implode.php

свой второй аргумент, передаваемый присоединиться() не является массивом, но присоединиться метод требует массив в качестве второго параметра, это приводит к возникновению проблемы

$ результатом является объект с помощью этой формы: StdClass Object ([siteID] => BAH004 [имя_узла] => XXXXXXX [equipmentTYPE] => XXXXXXX)

Может быть, попробовать что-то как это:

foreach($result2 as $result) { 
    echo join(', ', array($result->siteID, $result->ownerNAME, $result->siteNAME, $result->equipmentTYPE)), '<br/>'; 
    echo "<br/>"; 
} 

вы также можете попробовать это, может быть проще:

foreach($result2 as $result) { 
    $result = (array)$result; // convert the object to an array 
    echo join(', ', $result), '<br/>'; 
    echo "<br/>"; 
} 
+0

спасибо за вашу помощь, позвольте мне понять, что вы сказали, что функция join() не принимает массив? –

+0

Я имею в виду, что ваш второй параметр не является простым массивом, но это больше, чем ваш второй параметр - это объект, а не массив. Я отредактировал свой ответ для лучшего понимания. – Nico

+0

Второе решение подходит вам больше – Nico