试图从此查询返回结果?

时间:2014-02-08 04:25:37

标签: php mysql oop

所以我使用这个名为Database的类并使用方法(select)

从查询中获取所有结果

我想回复或打印出结果?

// database.php中

class Database{
    public function select($table, $rows = '*', $where = null, $order = null){
    $q = 'SELECT '.$rows.' FROM '.$table;
    if($where != null)
        $q .= ' WHERE '.$where;
    if($order != null)
        $q .= ' ORDER BY '.$order;
    if($this->tableExists($table))
    {
        $query = @mysql_query($q);
        if($query)
        {
            $this->numResults = mysql_num_rows($query);
            for($i = 0; $i < $this->numResults; $i++)
            {
                $r = mysql_fetch_array($query);
                $key = array_keys($r);
                for($x = 0; $x < count($key); $x++)
                {
                    // Sanitizes keys so only alphavalues are allowed
                    if(!is_int($key[$x]))
                    {
                        if(mysql_num_rows($query) > 1)
                            $this->result[$i][$key[$x]] = $r[$key[$x]];
                        else if(mysql_num_rows($query) < 1)
                            $this->result = null; 
                        else
                            $this->result[$key[$x]] = $r[$key[$x]]; 
                    }//end if
                }//end for
            }//end for            
            return true; 
        }//endif
        else
        {
            return false; 
        }
    }
    else
    return false; 
} 
}   

这就是我试图输出结果的地方,但是我想做些什么来回显/打印结果。

// select.php

include(includes/database.php);
$db = new Database();


$table = 'user';
$rows;
$match = $db->select($table,$rows);
var_dump($db->match);

有人告诉我,我不必触及Database类中的任何代码。

1 个答案:

答案 0 :(得分:0)

正如Marc所提到的那样,值可能在$ db-&gt;匹配中。

可以使用条件来检查表是否使用$ match返回值。

$match = $db->select($table,$rows);

if((isset($db->match) && !empty($db->match))) {
       //iterate $db->match
       var_dump($db->match);
    } else {
       //for debugging purpose
       echo 'no values found';
    }

在其他情况下,查询可能不返回任何记录,您可以在phpMyAdmin中运行相同的查询以进行交叉检查。