#php #mysql #sql
#php #MySQL #sql
Вопрос:
У меня есть следующий запрос MySQL для внутреннего соединения и таблица HTML.
Таблица 1: daily_info Таблица 2: запасы
Объединение выполняется для столбца с именем «Символ», который присутствует в обеих таблицах. К сожалению, в приведенной ниже таблице HTML данные не генерируются. Чего мне не хватает?
<?php
$query = "SELECT daily_info.Day, daily_info.Prev_close, stocks.Symbol, stocks.Company, stocks.Description FROM stocks INNER JOIN daily_info ON stocks.Symbol = daily_info.Symbol ORDER BY Day Desc";
$result = mysqli_query( $link, $query );
// All good?
if ( !$result ) {
// Nope
$message = 'Invalid query: ' . mysql_error() . "n";
$message .= 'Whole query: ' . $query;
die( $message );
}
?>
<br />
<hr />
<br />
<div id="table-wrapper">
<div id="table-scroll">
<table width="100%" style="text-align:center; vertical-align:middle'">
<thead><tr>
<th><span class="text">Company</span></th>
<th><span class="text">Symbol</span></th>
<th><span class="text">Previous Close</span></th>
</tr></thead>
<?php
while ( $row = mysqli_fetch_assoc($query) ) {
echo "<tr>";
echo "<td><a href="http://finance.yahoo.com/q?s=" . $row['Symbol'] . "" target="_blank">" . $row['Company'] . "</a></td>";
echo "<td><a href="http://finance.yahoo.com/q?s=" . $row['Symbol'] . "" target="_blank">" . $row['Symbol'] . "</a></td>";
echo "<td>" . $row['Prev_close'] . "</td>";
echo "</tr>";
}
?>
</table>
Комментарии:
1. Примечание: вы смешиваете API-интерфейсы MySQL, использование
mysql_error()
которых не сочетается сmysqli_*
функциями. Измените его наmysqli_error($link)
2. Спасибо, Фред! Я ценю это.
Ответ №1:
Вы зацикливаетесь на $query
строке -> $query = "SELECT daily_info.Day,...
<?php
while ( $row = mysqli_fetch_assoc($query) ) {
^^^^^^
Где вам нужно выполнить цикл на $result
ресурсе -> $result = mysqli_query( $link, $query );
<?php
while ( $row = mysqli_fetch_assoc($result) ) {
^^^^^^^