返回函数值为Mysql结果

时间:2012-09-22 13:41:27

标签: php sql

我有一个问题。我想将一个Function的值作为mysql结果返回

function Gets_comments_array_from_db($type, $thread_comment_id) {
# Sets variable for Query
    $The_TYPE = $type;
    $Thread = mysql_real_escape_string(intval($thread_comment_id));

# return array query for Further working
    return mysql_query("SELECT * FROM `site_comments` WHERE `type`='".$The_TYPE."' AND `thread_comment_id`='".$Thread."'");

}

while($comment = mysql_fetch_array(Gets_comments_array_from_db('news', $id)){
                                                    echo '11';
                                                }

谢谢! :)

1 个答案:

答案 0 :(得分:0)

由于 dbf 表示您在while循环的每次迭代中执行查询。你需要改变这样的代码:

$rs = Gets_comments_array_from_db('news', $id);

while($comment = mysql_fetch_assoc($rs)) {
     echo '11';
}

现在,您将获得一次结果,然后在while循环中迭代它们。在循环内部,您还可以使用列名作为数组键来处理值。

while($comment = mysql_fetch_assoc($rs)) {
     $field1 = $comment['field1'];
     $field2 = $comment['field2'];
     $field3 = $comment['field3'];
}

如果你像这样构建你的mysql查询

SELECT Field1, Field2, Field3, Field4 FROM {table} WHERE {where_clause}

你可以像这样在循环中设置你的变量

$rs = Gets_comments_array_from_db('news', $id);

while(list($field1, $filed2, $filed3, $field4) = myslq_fetch_row($rs)) {
    // use variables here
}