数据库加入并检索到PHP

时间:2015-10-24 12:16:44

标签: php sql pdo

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

1 个答案:

答案 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