MySQL yabancı anahtar bağlantı aracılığıyla belirli bir değer (ler) almak nasıl?

0 Cevap php

belirsiz başlık için üzgünüm ama ben daha iyi bir şey gelmedi.

Benim ikilem şudur:

Ben aşağıdaki yapıda "toplantıları" olarak adlandırılan benim veritabanındaki bir InnoDB tablo var:

  • meeting_id (birincil anahtar, auto_increment)
  • user1_id ("kullanıcılar" adında bir tablo bir user_id yabancı anahtar işaret)
  • user2_id ("kullanıcılar" adında bir tablo bir user_id yabancı anahtar işaret)
  • zaman (tip DATETIME)
  • konum (VARCHAR (200))

Tablo "kullanıcılar" temel ve bu gibi görünüyor:

  • User_id (birincil anahtar, auto_increment)
  • first_name (VARCHAR (30))
  • son_ad (VARCHAR (30))

Ben sadece, örneğin toplantı açıklamasını yazdırmak amacıyla bir PHP dosyası vardır:

You saved the following meeting information:

User 1 | User 2 | Time & Date | Meeting location

John Doe | Jane Doe | 2010-10-10 10:10:10 | New York

Şimdi, ben sadece benim veritabanını çağırma (sadece "toplantıları" tablo) ve user1 ve user2 ilk_ad ve LAST_NAME almak mümkün olacak, toplantı kimliğini kullanmak istiyorum.

Şu anda, benim çalışmayan kod şöyle görünür:

$query = "SELECT * FROM meetings WHERE meeting_id = " . $mid;
$data  = mysqli_query($dbc, $query);
$row   = mysqli_fetch_array($data); // ANY CHANGES HERE?

...

echo '<p>You saved the following meeting information::</p>';
echo '<table>';
echo '<tr><th>User 1</th><th>User 2</th><th>Time & Date</th><th>Meeting location</th></tr>';
echo '<td>' . $row['user1_id']['first_name'] . ' ' . $row['user1_id']['last_name'] . '</td>'; // NON-WORKING
echo '<td>' . $row['user2_id']['first_name'] . ' ' . $row['user2_id']['last_name'] . '</td>'; // NON-WORKING
echo '<td>' . $row['date_time'] . '</td>';
echo '<td>' . $row['location'] . '</td>';       
echo '</table>';
...

(Nasıl) I "kullanıcılar" masaya ayrı arama yapmadan first_name / son_ad bağlantıları alabilirsiniz? Ben phpMyAdmin kontrol ettiğimde InnoDB yabancı anahtar bağlantılar cezası çalışmak gibi görünüyor. Şimdiden çok teşekkürler!

0 Cevap