在函数内运行查询

时间:2014-07-06 18:48:50

标签: php mysql function

我到处搜寻,没有能够找到正确的前进方法。

在我的controller.php中,我有:

<?php $get_listing = function ($id) {
$results = $db->query("SELECT * FROM listings ORDER BY date DESC");
$listings = $results->fetchAll(PDO::FETCH_ASSOC);
} ?>

以上是我从数据库中检索数据的功能。我想根据变量$ id。

检索特定的行

现在,在我的ad-details.php中,我有:

<?php foreach(get_listing($id) as $info) {
echo $info["price"]; }

我收到一条错误消息,指出函数get_listing是未定义的,这很奇怪,因为controller.php包含在ad-details.php中

任何想法的家伙?任何帮助都将受到高度赞赏。

3 个答案:

答案 0 :(得分:2)

2个错误:

1 - 你忘记了

global $db;

和函数中的return语句。

2 - 如果您使用anonymous functions,则需要使用$ sign调用它们。大概

<?php 
   foreach($get_listing($id) as $info) {
       echo $info["price"]; 
   }
?>

正在运作。

答案 1 :(得分:0)

您已将自己的功能设置为名为$get_listing的变量,但请使用get_listing进行调用。

要么像这样声明你的功能。

function get_listing($id)

或者这样称呼它。

$get_listing($id)

答案 2 :(得分:0)

<?php
function get_listing($id)
  {
    $results  = $db->query("SELECT * FROM listings ORDER BY date DESC");
    $listings = $results->fetchAll(PDO::FETCH_ASSOC);
  }
?>