【发布时间】:2014-09-17 18:35:30
【问题描述】:
我必须从 postgreSQL 中针对世界数据库编写 2 个查询。现在,当我编译我的程序时出现错误,我不知道为什么。我正在处理的两个查询是
1. Find the district and population of all cities named Springfield.
Sort results from most populous to least populous. (3 results)
2. Find the name, district, and population of each city in Brazil (country code BRA).
Order results by city name alphabetically. (250 results)
然后我必须在表格中打印出结果。我的程序的这一部分有一些问题,我必须打印出结果的部分。我相信我有正确的 SELECT 语句来获取正确的信息,我只是对如何在表格中显示信息感到困惑。任何帮助将不胜感激。这是我的代码。
<html>
<head/>
<body>
<form method = "POST" action ="<?= $_SERVER['PHP_SELF'] ?>" >
<table>
<tr><td>Select Query</td><td><select name="query">
<option value="1">Query 1</option>
<option value="2">Query 2</option>
</select>
</td></tr>
</tr><td colspan="2"><input type="submit" name="execute" value="Generate" /></td></tr>
</table>
</form>
<?php
include("public_html/secure/database.php");
$con = ph_connect(HOST." ".DBNAME." ".USERNAME." ".PASSWORD);
if(isset($_POST["execute"])){
switch($_POST["query"]){
case 1:
$q = "SELECT district, population FROM lab2.city WHERE (city = 'Springfield') ORDER BY population DESC";
$result = pg_query($q) or die('Query failed: ' . pg_last_error());
break;
case 2:
$q = "SELECT name, district, population FROM lab2.city WHERE (country_code = 'BRA') ORDER BY name";
$result = pg_query($q) or die('Query failed: ' . pg_last_error());
break;
}
echo "<table>\n";
while($line = pg_fetch_array($result, null, PGSQL_ASSOC)){
echo "\t<tr>\n";
foreach($line as $col_value){
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
pg_free_result($result);
pg_close($con);
?>
</body>
</html>
我现在使用命令 php lab2.php 时遇到的错误是
这是第一个查询的正确输出示例。
district population
Massachusetts 152082
Missouri 151580
Illinois 111454
【问题讨论】:
-
'Query failed: ' pg_last_error()应该连接'Query failed: ' . pg_last_error(),$q = Select也是错误的语法。 -
@u_mulder 好的,谢谢,但在更正这两个错误后我仍然收到该错误
-
查询必须是字符串,拜托,学习一些php基础知识。
-
@u_mulder 感谢您的澄清。我仍然有一个错误,它是 PHP Parse error: syntax error, unexpected $end in /students/6/njs2q6/public_html/cs3380/lab2/lab2.php on line 60
-
现在您已经编辑了您的 OP 以放入引号中,您是否测试过它是否会运行?
标签: php mysql postgresql compiler-errors echo