-1

私は問題があります。関数の値を 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';
                                                }

ありがとう!:)

4

1 に答える 1

0

dbfが言ったように、whileループの反復ごとにクエリを実行しています。次のようにコードを変更する必要があります。

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

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

これで、結果が1回取得され、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}

このようにwhileループで変数を設定できるようになります

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

while(list($field1, $filed2, $filed3, $field4) = myslq_fetch_row($rs)) {
    // use variables here
}
于 2012-09-22T18:58:25.010 に答える