INNER JOIN не работает, я не получаю ошибок - PullRequest
0 голосов
/ 25 октября 2019
$result = mysqli_query($conn,"SELECT * FROM table1 INNER JOIN `table2`
ON `table1`.`id`=`table2`.`id`;");

while ($row = mysqli_fetch_array($result) ){
  echo 'name <textarea>'.$row["name"].'</textarea>';
}

на LAb (wampserver) его работе я получаю информацию о "имени", но на самом веб-сайте я не получаю информацию о "имени".

Ответы [ 3 ]

0 голосов
/ 25 октября 2019

Пожалуйста, убедитесь, что соединение может быть другим. Также удалите точку с запятой (;) после table2.id. Может быть, ваша проблема решена

0 голосов
/ 25 октября 2019

Может произойти какая-то ошибка, но она не отображается.

Сначала я предлагаю проверить соединение:

$conn = mysqli_connect("$host", "$user "my_password", "$DBname");
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

Если это работает, проверьте наличие ошибок запроса:

if($result = mysqli_query($conn,"SELECT * FROM table1 INNER JOIN `table2`
ON `table1`.`id`=`table2`.`id`;"))
{
    while ($row = mysqli_fetch_array($result) ){
      echo 'name <textarea>'.$row["name"].'</textarea>';
    }
}
else echo($conn->error);

Другими возможными причинами могут быть:

  • предложение ON

    верно условие:

    ON table1. id= table2. id

    или должно быть что-то вроде этого?

    `ON `table1`.`id`=`table2`.`rif_id`
    
  • нет данных для выбора в table1 или table2

    В базе данных live вы проверяли, есть ли данные для выбора? Может случиться, что вы забыли вставить данные в оперативную базу данных.

Кроме того, вы пытались выполнить запрос вручную в PhpMyAdmin?

0 голосов
/ 25 октября 2019

Я не знаю, что вы пытаетесь собрать, но вы можете использовать запрос ниже, чтобы получить запись. это будет работать для вас.

"Выберите t1. * из таблицы 1 t1 внутреннее объединение таблицы 2 t2 ВКЛ t1.id = t2.id"

...