2014-07-06 47 views
-1

我到处搜索都没有找到正确的方向。在一个函数里面运行查询

在我Controller.php这样,我有:

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

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

现在,在我的广告details.php,我有:

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

我得到一个错误信息说,该功能get_listing是不确定的,因为Controller.php这样被包含在广告这是奇怪的-details.php

任何想法家伙?任何帮助将不胜感激。

回答

0

您已将函数设置为一个名为$get_listing的变量,但用get_listing调用它。

要么声明你的这个功能。

function get_listing($id) 

或称它为这样。

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

2个错误:

1 - 你忘了

global $db; 

,并在函数返回语句。

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

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

正在工作。