Право соединения не может получить доступ к строке из другой таблицы в PHP

0
$query = "SELECT 'Title', 'Date', 'Url', 'Url_Hash'
    FROM filings
    RIGHT JOIN form_attributes ON 
    filings.Url_Hash=form_attributes.Unique_Hash
    ORDER BY filings.Date ASC

$result = mysqli_query( $mysqli, $query);

while ($row = mysqli_fetch_assoc($result)):

$title = row['col_name_in_form_attributes']; // undefined index error

Это довольно просто, но я застрял. У меня есть 2 таблицы, записи и form_attributes. Я хочу получить доступ к именам строк form_attributes, но получить неопределенную ошибку индекса.

В качестве обходного пути, я полагаю, я мог бы сделать это с помощью STMT следующим образом:

    $stmt = $mysqli->prepare($query);
    $stmt->execute();
    $stmt->bind_result($result1, $result2, /* etc */);
    $stmt->store_result();

Однако bind_result() неэффективен, поскольку у меня более дюжины столбцов. Гораздо проще использовать $row['xyz']; STMT также не работает с полнотекстовым поиском MySQL, который я использую. Есть ли способ сделать это с помощью mysqli_query или неправильный мой SQL? Благодарю.

  • 0
    Errr, это так просто, как не закрывать строку, помещенную в $query ??
Теги:

2 ответа

0
Лучший ответ

Я забыл явно указать имя таблицы и имя столбца в моем запросе. Пример:

'form_attributes'.'Contact_Info'

Работает сейчас!

0

Не ответ, но FWIW, мне легче понять концепцию...

SELECT Title
     , Date
     , Url
     , Url_Hash
  FROM form_attributes a
  LEFT
  JOIN filings f
    ON f.Url_Hash = a.Unique_Hash
 ORDER 
    BY f.Date ASC

Ещё вопросы

Сообщество Overcoder
Наверх
Меню