簡體   English   中英

PHP-MySql SELECT WHERE值=字符串JSON

[英]PHP - MySql SELECT WHERE value = string JSON

通過cURL連接,我可以從放置在遠程服務器上的Json文件中提取數據。 特別是一些產品的代碼,這要歸功於foreach

foreach($data['results'] as $key=>$val){ 

$codici_hotel = $val['hotel_code'];
echo $codici_hotel.",";

 }

我可以在視頻上看到:

1074d0,19f726,1072ba,107104,183444,112438,15d8ab,1b326e,19d885,189b95,1071bf,107155,193e61,10aab2,138752,18dd7d,19d7f9,117b0d,1071b8,1398c4,107039,110851,107124,110669

現在,我需要使用該字符串在本地數據庫上運行選擇,例如:

$sql = "SELECT * FROM hotels WHERE code = ('$codici_hotel')";

什么是正確的sql字符串? 謝謝你的幫助

使用的代碼更新

 $codici_hotel_arr = array();
foreach($data['results'] as $key=>$val){ 
$codici_hotel_arr[] = $val['hotel_code'];
 }
$codici_hotel =  "'".implode(",",$codici_hotel_arr)."'";
$conn2 = new mysqli($servername, $username, $password, $dbname);
if ($conn2->connect_error) {
    die("Connection failed: " . $conn2->connect_error);
} 
$sql2 = "SELECT name FROM hotels WHERE code IN ('$codici_hotel')";

$result2 = $conn2->query($sql2);

if ($result2->num_rows > 0) {
    // output data of each row
    while($row2 = $result2->fetch_assoc()) {
       $nome_hotel =  $row2["name"] ;

    }
} else {
    echo "0 results";
}
$conn2->close();

    echo $nome_hotel;

您必須將所有代碼轉換為用'括起來'字符串。 然后使用mysql的IN子句。 如下更改代碼

$codici_hotel_arr = array();
foreach($data['results'] as $key=>$val){ 

$codici_hotel_arr[] = $val['hotel_code'];

 }

$codici_hotel =  "'".implode(",",$codici_hotel_arr)."'";
$sql = "SELECT * FROM hotels WHERE code IN ($codici_hotel)";

暫無
暫無

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

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