如何将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 页面中实现它之前检查结果。