2016-12-13 2 views
1

Я пытаюсь получить результат, соединяя две таблицы. но я не получаю должного результата. может ли кто-нибудь сказать, где я ошибаюсь?стол, соединяющий, чтобы получить выход

вот мой код

$sql = "SELECT merchant.name, keyword.name 
FROM keyword 
INNER JOIN merchant 
ON merchant.id=keyword.merchant_id"; 

И мой стол структуризатор является

ключевое слово

1.name (ключевое имя)

2.merchant_id

торговец

1.id

2.name (имя торговца)

результат sholud быть, как этот

имени торговца |||||| ключевое имя

и SQL выборки запроса

while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) 
{ 

    echo "<tr><td>".$row['name']."</td><td>".$row['name']."</td>"; 

} 

Но выход

имя ключевого слова |||||| Имя ключевого слова

enter image description here

только я получаю имя ключевого слова

может любой сказать мне, где я ошибаюсь. (Извините за мой плохой английский)

+0

эхо "" $ строки [ 'имя'] "" $ строки [ 'имя'].""; оба одинаковые переменные –

+1

снова не используют функции 'mysql_' ... они устарели – Blueblazer172

+0

нужно изменить имя переменной? –

ответ

2

Dont использовать mysql использование Mysqli

вы могли бы попробовать

$sql = "SELECT merchant.name as mname, keyword.name as kname FROM keyword INNER JOIN merchant ON merchant.id=keyword.merchant_id"; 

и

echo "<tr><td>".$row['mname']."</td><td>".$row['kname']."</td>"; 
+0

безупречный. он работает :) –

+0

классный. попробуйте использовать расширение mysqli. – Afsar

1

Попробуйте

$sql = "SELECT merchant.name as m_name, keyword.name as a_name 
    FROM keyword 
    INNER JOIN merchant 
    ON merchant.id=keyword.merchant_id"; 

Тогда

while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) 
{ 

    echo "<tr><td>".$row['m_name']."</td><td>".$row['a_name']."</td>"; 

} 
+0

это также помогает полностью :) –

1

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

$sql = "SELECT merchant.name as mer_name, keyword.name as k_name // Aliasing for column names 
FROM keyword 
INNER JOIN merchant 
ON merchant.id=keyword.merchant_id"; 

и использовать его как:...

$row['mer_name'], $row['k_name']; 
Смежные вопросы