如何从 mysqli 数据库中获取每个 foreach 结果



如何将foreach查询发送到mysqli数据库?

我试过:

<?php
require("init.php");
$sql = "SELECT `item_name` FROM `books` WHERE `book`='1905515'";
$query = mysqli_query($conn, $sql);
while ($record = mysqli_fetch_array($query)) {
    $optionsArray[] = $record['item_name']; 
}
foreach ($optionsArray as $item) {
    $item="$item"; $sqli = "SELECT `code` FROM `promo` WHERE `code`='$item'";
    $query2 = mysqli_query($conn, $sqli);
    while ($row = mysqli_fetch_array($query2)) {
        $name = $row["recharge"]; echo "$name"; 
    } 
}
?>

但是我在输出中没有得到任何结果。

不需要 while 循环,您可以像这样JOIN两个表:

SELECT c.*
FROM books AS b
INNER JOIN promo AS c ON b.item_name = c.code 
WHERE b.book='1905515';

根据您的代码,您只需根据 books 表中的item_name等于promo表中的 code 进行联接。可能是这个问题,您应该根据不同的列加入。

您可以在 mysql 工作台或 phpmyadmin 中运行此查询,以便在 php 页面中实现它之前检查结果。

最新更新