我的数组中出现双重结果(mysql_fetch_array)

2024-01-18

好的,我执行这个

$table = get_personel_table(1);
function get_personel_table($id)
    {
        global $connection;
        $query  = "SELECT * ";
        $query .= "FROM employees ";
        $query .= "WHERE id=" . $id . " ";
        $query .= "ORDER BY id ASC";
        $query_result = mysql_query( $query , $connection );
        confirm_query($query_result);
        $query_result_array = mysql_fetch_array($query_result);
        return $query_result_array; // returns associative array!;
    }

我做 foreach

foreach($table as $table_var)
{
    echo "<td>" . $table_var . "</td>";
} 

通过这样做,我得到双输出...“1 1 1 1 jordan jordan 9108121544 9108121544 testEmail testEmail testAddress testAddress testCounty testCounty”

下面是 print_r 的结果

 Array
    (
        [0] => 1
        [id] => 1
        [1] => 1
        [department_id] => 1
        [2] => jordan
        [name] => jordan
        [3] => 9108121544
        [EGN] => 9108121544
        [4] => testEmail
        [email] => testEmail
        [5] => testAddress
        [address] => testAddress
        [6] => testCounty
        [country] => testCounty
    )

我在数据库中的信息是 id =>1 ,department_id => 1 ,依此类推...... 我的问题是为什么我得到双重反馈(我不知道如何称呼它),0=id,1=department_id,2=name等等..

当我执行 foreach( ... ) 时,所有内容都会加倍。


From 手册 http://php.net/mysql_fetch_array:

mysql_fetch_array — 以关联数组、数值数组或两者的形式获取结果行

默认情况下,mysql_fetch_array给出关联索引和数字索引。你不想要这个。您可以使用第二个参数来限制它:

$query_result_array = mysql_fetch_array($query_result, MYSQL_NUM); // numeric keys only
$query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC); // associative keys only

您还可以使用mysql_fetch_row http://php.net/mysql_fetch_row仅获取数字键,或者mysql_fetch_assoc http://php.net/mysql_fetch_assoc仅获取关联键。

$query_result_array = mysql_fetch_row($query_result); // numeric keys only
$query_result_array = mysql_fetch_assoc($query_result); // associative keys only
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的数组中出现双重结果(mysql_fetch_array) 的相关文章

随机推荐