我很抱歉问这个问题,因为我认为它有一个非常简单的答案,但我真的一点也不了解 php。我想安装 bandwidthd 用于网络监控,我想要一个选项,它可以让你在网关上运行 bandwidthd 守护程序,所有信息都导出到另一台机器上的 postgres 数据库。同样在那台机器上,带有数据库的那个我已经设置了一个apache服务器来显示bandwidthd的webapp。web up 是一堆似乎根本不起作用的 php 文件,所以我只是花时间纠正它们。我已经能够获得一些权利,但现在我被卡住了。我有以下代码:
<td><SELECT name="sensor_name">
<OPTION value="none">--Select A Sensor--
<?php
$dbh = pg_pconnect("host=localhost dbname=BandwidthD user=postgres");
$sql = "SELECT sensor_name from sensors order by sensor_name;";
$result = pg_query($dbh, $sql);
while ($r = pg_fetch_array($result))
echo "<option value=\"".$r[0]."\" ".($sensor_name==$r[0]?"SELECTED":"").">".$r[0]."\n";
?>
当页面执行时,它说 sensor_name 是未定义的,但据我所知,在我看来,变量应该在该行初始化。如果您有任何建议,请告诉我,但请记住,我不知道任何 php,我只是冒险猜测,因为它是一种编程语言,它应该是合乎逻辑的。
我在想 $sensor_name 会在代码中被初始化,因为我也有这个代码:
<td><SELECT name="limit">
<OPTION value="none">--How Many Results--
<OPTION value=20 <?php=$limit==20?"SELECTED":""?>>20
<OPTION value=50 <?php=$limit==50?"SELECTED":""?>>50
<OPTION value=100 <?php=$limit==100?"SELECTED":""?>>100
<OPTION value=all <?php=$limit=="all"?"SELECTED":""?>>All
</select>
并且限制没有在其他任何地方声明,也没有给出错误。