【问题标题】:Can't retrieve data from table php无法从表 php 中检索数据
【发布时间】:2021-05-25 06:01:09
【问题描述】:

我在我的 HTML 页面上创建了一个按钮,该按钮应该从我的表中检索数据。但是,当我单击它时,似乎没有显示任何数据。这是我的桌子(艺术家):

      name      | Style |  
----------+-------------+
 Micheal Jackson | Pop
 Tyga            | Rap
 Drake           | Rap    
 50 cent         | Rap    
 King Von        | Rap    

我正在尝试打印名称列,但似乎不起作用?它显示一个空白页。这是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Artists Table</title>
    <meta charset="utf-8">
    <meta name="Author" content="Ron Mercer">
   
</head>
<body>
<h1>Players Table</h1>
<h2>

<?php


$con=pg_connect("dbname=ron") or die( pg_last_error());
$name=$_GET['name'];
$res = pg_query_params("select name from artists where name= $1",array($name))
 or die( pg_last_error());
   
 while ($row = pg_fetch_row($res))
   {  
    print($row[0]."<br>");
   }

?>
</body>

我知道我的数据库连接良好,因为当我拼写错误的表名(艺术家)时,它会显示:

错误:关系“artisgsts”不存在第 1 行:从 artisgsts 中选择名称,其中 name= $1 ^。

所以它可以识别我的表格,但为什么不打印任何内容?谢谢。

【问题讨论】:

  • 你贴的代码里没有,但是报错信息说你拼错了表名artisgsts
  • 名称中多了一个sg
  • @Barmar 这是为了验证连接是否良好而故意拼写错误。 OP在问题中解释了这一点
  • 您如何调用页面?它需要一个带有艺术家姓名的 URL 查询参数,例如scriptname.php?name=Tyga
  • @Barmar 页面名称是artist.php。当我输入时它会输出 Tyga:artist.php?name=Tyga。但是如果我想输出整个表格我该怎么办?我尝试输入artist.php?name=Bob。Bob 不在我的表格中,并且没有打印出来,这是一个好兆头。

标签: php html database postgresql


【解决方案1】:

根据是否提供 URL 参数更改查询。

if (isset($_GET['name'])) {
    $condition = 'WHERE name = $';
    $params = array($_GET['name']);
} else {
    $condition = '';
    $params = array();
}

$res = pg_query_params("select name from artists $condition",$params)
    or die( pg_last_error());
while ($row = pg_fetch_row($res))
{  
    print($row[0]."<br>");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-11
    • 2013-02-13
    • 2020-02-28
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    相关资源
    最近更新 更多