В чем проблема с выводом таблицы php/sql урок 60?

0
<?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 из предидущего урока.

php

2 ответов

2

Там где-то есть пояснение. Что если в обоих таблицах присуствует name, нужно делать алиасы, типа: descrtiption.name AS desc_name, movie.name AS mname и выводить соответсвенно алиасы desc_name и mname.

0

в таблице 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();

?>

Sign up or Log in to write an answer