我想从item
表中检索item
名称,该名称等于inventory
表中的项目编号,同时直接填充库存其他详细信息。但它没有运行。我该如何纠正?
<?php include '../../config/Database.php';
$pdo = Database::connect();
$sql = 'SELECT * FROM `tbl_inventory`';
$sql2 = 'SELECT tbl_item.item_name FROM tbl_item,tbl_inventory
WHERE tbl_inventory.tbl_item_item_ID = tbl_item.item_ID';
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td>' . $row['tbl_item_item_ID'] . '</td>';
foreach ($pdo->query($sql2) as $row1) {
echo '<td>' . $row1['item_name'] . '</td>';
}
echo '<td>' . $row['qty'] . '</td>';
echo '</tr>';
}
Database::disconnect();
?>
答案 0 :(得分:0)
尝试用我的sql2替换line sql2:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test
{
public static void main(String []args)
{
try
{
Process p = Runtime.getRuntime().exec("cd '/Directory With Two Words'");
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
// read any errors from the attempted command
System.out.println("Error:");
String s = null;
while ((s = stdError.readLine()) != null)
{
System.out.println(s);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
你必须修改$ sql2字符串,当你使用select语句时你所写的将成为结果数组关联数组名$sql2 = 'SELECT tbl_item.item_name as item_name FROM tbl_item,tbl_inventory WHERE tbl_inventory.tbl_item_item_ID = tbl_item.item_ID';
但你试图获得tbl_item.item_name
不会出现在结果中数组,所以你不会得到任何结果。使用mysql中的 as 关键字将别名tbl_item.item_name命名为item_name
。