gpt4 book ai didi

php - 使用 PostgreSQL 和 PHP 获取查询结果

转载 作者:行者123 更新时间:2023-11-29 14:01:39 25 4
gpt4 key购买 nike

我正在尝试让我的 postgresql 工作。我以前使用过 sql,但从未使用过 postgres。

我觉得下面应该显示一个很好的输出表。

我已经在几个地方测试了 php,结果变量似乎没有得到任何返回值, bool 值也是假值,所以没有检索到任何东西。如果有人能帮助我找到错误,我将不胜感激。

if($queryType != NULL)

echo'<table>;
if($limit == NULL && $offset == NULL)
{
$query = 'SELECT * FROM $1';
$stmt = pg_prepare($connection, "limitoffset", $query);
$result = pg_execute($connection, "limitoffset", array($queryType));

if($queryType == 'city'){
while($row = pg_fetch_assoc($result)){
echo '<tr>';
echo '<td>' . $row['id] . '</td>';
echo '</tr>';
}
echo '</table>';

再次,它编译并运行,但似乎 $row 在查询后返回为 false,因此循环没有运行以打印出结果,因为它没有。

谢谢!

最佳答案

您不能为标识符(即表名或列名)使用占位符,因此:

select * from $1

不会工作。如果你想让表名成为一个变量,我认为你被字符串插值所困:

$table = pg_escape_identifier($queryType);
$query = "SELECT * FROM $table";

您需要使用 pg_escape_identifier 避免 $queryType 中出现奇怪值的问题但请记住 pg_escape_identifier将双引号标识符,这可能会给您带来区分大小写的问题。

您的问题中还缺少两个单引号:echo'<table>; 中的一个另一个在 . $row['id] .但这些可能只是在您的问题文本中,因为您说代码可以编译和运行。

关于php - 使用 PostgreSQL 和 PHP 获取查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12342901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com