выбрать данные из таблицы, где столбец, как массив - PullRequest
0 голосов
/ 28 октября 2019

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

после поиска по многим старым вопросам, не удается получитьрешение.

<?php
$mysqli = new mysqli("localhost", "hhtt", "htt", "htt");

/* Vérification de la connexion */
if ($mysqli->connect_errno) {
    printf("Echec de la connexion : %s\n", $mysqli->connect_error);
    exit();
}

$query = "SELECT site FROM user_info";
$result = $mysqli->query($query);

/* Tableau numérique */
while($row = $result->fetch_array())
{
$rows[] = $row;
}

$string = implode(' OR arrondissement LIKE ', $rows);


$query2 = "SELECT path FROM photos WHERE arrondissement LIKE {$string}";

$myArray = array();

$result2 = $mysqli->query($query2);

while($row2 = $result2->fetch_array(MYSQLI_ASSOC)) {
    $myArray[] = $row2;
}
echo json_encode($myArray);

/*Fermeture de la connexion */
$mysqli->close();


?>

получить данные json из таблицы, используя массив в запросе mysql.

1 Ответ

1 голос
/ 28 октября 2019

Взгляд на ваш код Вы можете использовать один запрос, избегая взрыва и связанный выбор, основанный на массиве

    select  path FROM photos p
    INNER JOIN  user_info u ON  u.site = p.arrondissement

или если вам действительно нужно, например,

    select  path FROM photos p
    INNER JOIN  user_info u ON  p.arrondissement like concat('%', u.site, '%')

и вам нужнодругие, где условие yu jst добавляет условие where после объединения

    select  path FROM photos p
    INNER JOIN  user_info u ON  p.arrondissement like concat('%', u.site, '%')
    where p.is_clean = 0 

или расширяет предложение JOIN

    select  path FROM photos p
    INNER JOIN  user_info u ON  p.arrondissement like concat('%', u.site, '%')
       AND  p.is_clean = 0 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...