我有一个记录列表,当点击某个记录时,我需要它来显示存储在数据库中的该记录的数据。
我想使用记录的ID,以便我可以显示每个特定ID的数据,因此当点击ID为“1”的记录时,它应显示ID为1的数据库中的数据。等等。
不知道怎么解释这个。
<?php
try {
$db = new PDO('pgsql:dbname=441255;host=150.237.105.37;user=******;password=*********');
$id = intval ($_GET['recordid']);
$SQLquery = "select recordname,recorddetails from record where recordid=$id";
$results = $db->query($SQLquery);
print "<table cellpadding=\"3\" cellspacing=\"3\"><tr><th>Details</th></tr>\n";
while ($record =$results->fetch (PDO::FETCH_OBJ) ) {
print '<h1>' .$record->recordname. '</h1>';
echo '<tr>';
echo '<td>' .$record->recordid. '</td>';
echo '<td>' . $record->$id. '</td>';
echo "</tr>\n";
}
print "</table>\n";
}
catch (Exception $e) {
echo $e;
}
?>
到目前为止,这是我的PHP代码,但它没有显示数据。没有错误,URL正在更改每条记录的ID号,在单击第一条记录时显示:/IM/record.php?=id1,单击第二条记录时显示/IM/record.php?=id2。 / p>
我正在使用PDO和pgsql。
任何人都知道我哪里出错了?
答案 0 :(得分:0)
评论完全没有错过代码的关键部分。
您说的网址为/IM/record.php?=id1
时应为/IM/record.php?id=1
,您也会通过$_GET
$id = intval ($_GET['recordid']);
应该是
$id = intval($_GET['id']);
记得检查$ id是否确实存在isset($id)
答案 1 :(得分:0)
首先检查您的网址是否已正确创建。 GET参数的传递方式如下:?[param_name1]=[value1]&[param_name2]=[value2]
...尝试打印收到的ID以检查您是否收到了某些内容。
同样在你的第二个单元格(td元素)中,你会收到一个错误。 $record->$id
应该只是$id
或$record->recordid
。
查询本身似乎很好。