sql选择php变量

时间:2012-09-28 21:22:06

标签: php

我正在尝试从db-table' dimensions'打印出一个html表。我只想要从下拉框中获取所选管道类型的尺寸。现在我只是手动输入“钢铁”。 Steel在db-table'pipe'中有pipe_id = 2。

我在db-tool中运行了第一个查询,它返回2,所以没有错。第二个查询什么都不返回。但是当我手动设置$ wq = 2(我在下面注释)时,它会完美地打印出html-table。我在这做错了什么?

$wq="SELECT pipe_id FROM pipes WHERE title_en = 'Steel'";
//$wq = '2';

$sql="SELECT * FROM dimensions WHERE  pipe_id = '".$wq."'";

3 个答案:

答案 0 :(得分:1)

只需使用这个简单的子查询:

 $sql="SELECT * FROM dimensions WHERE pipe_id = 
    (SELECT pipe_id FROM pipes WHERE title_en = 'Steel');

答案 1 :(得分:0)

如果我是你,我会尝试更像这样的事情:

$sql = "SELECT * FROM dimensions AS A, pipe_id AS B WHERE B.title_en='Steel' AND A.pipe_id=B.pipe_id';

答案 2 :(得分:-1)

1

SELECT
    d.*
FROM 
    dimensions AS d
    INNER JOIN pipes AS p ON
        p.pipe_id = d.pipe_id AND
        p.title_en = 'Steel'

2

SELECT
    d.*
FROM (
    dimensions AS d,
    pipes AS p
)
WHERE
    p.pipe_id = d.pipe_id AND
    p.title_en = 'Steel'

3

SELECT
    d.*
FROM
    dimensions AS d
WHERE
    d.pipe_id = (
        SELECT p.pipe_id
        FROM pipes AS p
        WHERE p.title_en = 'Steel'
        LIMIT 1
    )