簡體   English   中英

select 數據來自表中的列,如數組

[英]select data from table where column like array

嘗試從數據庫中獲取一個數組並使用該數組執行如下查詢:“select from table where column like that array”。

在搜索了許多舊問題后,無法找到解決方案。

<?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();


?>

使用 mysql 查詢中的數組從表中獲取 json 數據。

查看您的代碼您可以使用單個查詢來避免內爆和基於數組的相關 select

    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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM