我正在尝试学习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
,用于存储用于治疗食物中毒的药物的信息,我想从相应的表中提取该信息。
任何帮助将不胜感激。
答案 0 :(得分:1)
尝试这个
SELECT * FROM bacteria WHERE disease = ''
UNION ALL
SELECT * FROM drugs where desease = ''
但我认为最好的方法是规范你的表格。 :)