В чем проблема с выводом таблицы php/sql урок 60?
<?php
$mysqli = new mysqli('localhost', 'root', '', 'kinohub');
if(mysqli_connect_errno()) {
printf("Соединение не установленно", mysqli_connect_error());
exit();
}
$query = $mysqli->query('SELECT * FROM movie INNER JOIN descriptions ON movie.descriptions_id = descriptions.id');
while ( $row = mysqli_fetch_assoc($query)) {
echo $row ['name'].' '.$row ['descriptions_id'].' '.$row ['year'].' '.$row ['category_id']."<br>";
}
$mysqli->close();
?>
При выводе в браузере, получается вот такой вывод.
Описание фильма матрица 1 1999 1
Описание фильма Интерстеллар 2 2014 1
Описание сериала Во все тяжкие 3 2008 2
То есть desciptions_id выводится вместо name, но номер почему-то его сохраняется, второй столбец значения 1,2,3. Не могу понять в чем проблема? SQL таблица была создана по аналогии с category_id из предидущего урока.
2 ответов
Там где-то есть пояснение. Что если в обоих таблицах присуствует name, нужно делать алиасы, типа: descrtiption.name AS desc_name, movie.name AS mname и выводить соответсвенно алиасы desc_name и mname.
в таблице movie есть строка name
в таблице categories вместо name пиши categories
а в таблице descriptions вместо name, Напиши descriptions
--------------------------------------------------------------------
<?php
//Подключение к базе данных
$mysqli = new mysqli('127.0.0.1', 'root', '', 'kinomonster');
if (mysqli_connect_errno()) {
print_f("Соединение не установлено", mysql_connect_error());
exit();
}
$mysqli->set_charset('utf8');
//Выводим таблицу в браузере
$query = $mysqli->query('SELECT * FROM movie, descriptions, category');
while ($row = mysqli_fetch_assoc($query)) {
echo $row['id']." / ".$row['name']." / ".$row['descriptions']." / ".$row['year']." / ".$row['category']."<br>";
}
$mysqli->close();
?>