【问题标题】:method not returning anything方法不返回任何东西
【发布时间】:2018-02-07 13:48:25
【问题描述】:

我创建了一个返回某一行的方法,没有错误或任何东西,只是该方法没有从数据库返回任何数据。

这里是我调用该方法的地方:

<a class="navbar-brand" href="http://localhost/old marketplace website/">
    <?php echo $controller->getTableData($table, $column, $columnValue, $rowTitle); ?>
</a>

下面是 getTableData() 方法的样子:

public function getTableData($table, $column, $columnValue, $rowTitle)
{
    $query = $this->db->prepare("SELECT * FROM $table WHERE $column = ? ");

    $query->bindValue(1,$columnValue);    
    $query->execute();

    $f = $query->fetch(PDO::FETCH_ASSOC);

    $result = $f['$rowTitle'];

    return $result;
}

我需要如何调整我的方法以使其返回所需的数据?

【问题讨论】:

  • 你如何将你的函数包含在一个 php 标签中? &lt;?php //your function ?&gt;
  • 在实际的类文件中,它位于 php 标签中...我只是没有在帖子中包含标签。
  • var_dump($f) 以确保您从查询中获得结果。如果没有,这就是您需要解决的问题。

标签: php mysql oop pdo


【解决方案1】:

尝试从以下行中删除引号:

$result = $f['$rowTitle'];

您正在查找名称等于$rowTitle 的列,而不是名称为'$rowTitle' 的列。去掉单引号即可使用变量$rowTitle的值:

$result = $f[$rowTitle];

参考见:

【讨论】:

  • 不仅如此,如果有人写',PHP会尝试字面意思解析它,它和"不一样
  • 仍然没有返回任何东西
  • 我认为根据您提供的信息,这是您将获得的最佳答案。尝试回显从数据库中检索到的内容?
猜你喜欢
  • 1970-01-01
  • 2015-01-16
  • 1970-01-01
  • 2016-07-05
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 2011-08-05
相关资源
最近更新 更多