1

我正在尝试学习 php 并遇到了我需要帮助的任务。

背景信息 - 我有一个包含多个表的 postgresql 数据库。

我需要什么 - 当我在 HTML 页面的表单中输入任何内容时,我需要从所有包含与我输入的内容相关的信息的表格中提取所有信息。

示例 - 假设我在表格中输入食物中毒。我需要访问所有表格并提取与食物中毒相关的不同信息。

My code: (the connection part is not being posted as it works fine)


    <?php
            $result = pg_prepare($dbh, "Query1", 'SELECT * FROM Project.bacteria WHERE disease = $1');
            // if (pg_numrows($result) == 0)    { 
                // $result = pg_prepare($dbh, "Query1", 'SELECT * FROM Project.virus WHERE disease = $1');  
            // }

            //$sql = "SELECT * FROM Project.bacteria WHERE disease=";
            //$result = pg_query($dbh, $sql);
            $result = pg_execute($dbh, "Query1", array($disease));
            if (!$result) {
                    die("Error in SQL query: " . pg_last_error());
            }
            //$rows = pg_fetch_all($result)

    /*// iterate over result set
    // print each row*/
                while ($row = pg_fetch_array($result)) {
                        echo $row[0]." ".$row[1]. "<br />";
                    } 
?>

对于上面的代码,当我输入food poisoning它时,它只搜索一个表bacteria,即返回相关信息(这里作为测试,我只在 . 处获取了信息row position 1 and row position 2。)

由于有多个表,例如drugs存储用于治疗食物中毒的药物信息的表,我想从各个表中提取该信息。

任何帮助,将不胜感激。

4

1 回答 1

1

试试这个

SELECT * FROM bacteria WHERE disease = ''
UNION ALL
SELECT * FROM drugs where desease = ''

但我认为最好的方法是标准化你的表格。:)

于 2013-04-22T06:41:38.467 回答