繁体   English   中英

使用php从mysql检索后无法返回值作为数组

[英]unable to return a value as an array after retriving from mysql using php

我正在尝试使用php从mysql表中获取单个值或所有值,它适用于单个值,并非所有值都适用,请帮助我。

function displaySitetype() {
    $result = array();
    $result = site_type_find("all");
    print_r($result);
    $count = count($result);
    for ($iter = 0; $iter < $count; $iter++) {
        ?> <option value="<?php echo $iter; ?>"><?php echo $result[$iter]; ?></option> <?php }
}

function site_type_find($site_type) {
    if ($site_type == "all") {
        $result = mysql_query("select * from site_type_table");
        $count = count($result);
        while ($count) {
            $resultarr = mysql_fetch_assoc($result);
            $arr = array_push($arr, $resultarr['site_name']);
            $count--;
        } return $arr;
    } else {
        $result = mysql_query("select site_name from site_type_table where site_id=$site_type");
        $arr = mysql_fetch_array($result);
        return $arr[0];
    }
}

最小修复:尝试以下操作(我想您只需要site_name列的值)

//...
if ($site_type == "all") {
    $result = mysql_query("select site_name from site_type_table");
    $arr = array();
    while ($resultarr = mysql_fetch_assoc($result)) {
        $arr[] = $resultarr['site_name'];
    }
    return $arr;
} else {
//...

顺便说一句,我不建议使用mysql_*函数( 在PHP 5.5+中已弃用

注意,您不能直接在变量$ result(这是对MySQL查询结果的引用count()上调用count() )。 要根据您的情况计算结果,可以使用mysql_num_rows() (请仔细检查手册页开头的红色警告框)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM