当前位置: 首页 > 面试题库 >

我的数组(mysql_fetch_array)中的结果翻倍

杜俊爽
2023-03-14
问题内容

好吧,我执行这个

$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 =名称,依此类推。

当我做foreach(…)时,我得到的一切都会翻倍。


问题答案:

从手册:

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用于仅获取数字键或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


 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 警告:mysql_fetch_array():提供的参数不是有效的MySQL结果 (6个答案) 7年前关闭。 当我运行以下php代码时,即使Practice_calendar_times中有多行,while循环也只会运行一次。 在网页上,我收到一条打印的警告消息:“警告:mysql_fetch_array():提供的参数不是/rmounts/vol0-n

  • 我调用了一些JSON结果,它在一个名为“cast”的数组中列出了一组参与者。我用这个JS调用列表中的第一项。。。 把它们放在一个小隔间里,像这样。。。 我需要列出前5个结果(不仅仅是第一个)。他们的方法简单吗?

  • 问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能重复: mysql_fetch_array()期望参数1为资源,在select中给出布尔值 我不断收到错误警告:mysql_fetch_array():提供的参数不是我网页上第40行中的有效MySQL结果,我不知道为什么..请帮助我。背景:该脚本将我的数据库表命名为yname,username,password,date,comment

  • 如何在QueryDSL(Java)中实现组计数? 我正在一个表上实现一个分页搜索,我想在返回结果之前对其中的结果进行分组。 除了通常的查询外,我还想接收行总数。 这是一个页面的(简化)SQL查询: 不幸的是,这不会生成包含上一个查询返回的组数的一行,而是为每个组生成一行,每个组包含被分组在一起的行数--与聚合函数的通常情况一样,在出现时更改其含义。(至少在我们这里使用的Postgresql中。)

  • 问题内容: 如何限制从数据库检索到的结果数? 问题答案: 您可以这样尝试,以明确获取10个结果。 如果后端支持,它将自动在后端创建本机查询以检索特定数量的结果,否则将在获取所有结果后进行内存限制。

  • 问题内容: 我正在使用NumPy在Python中使用标准方法创建对称矩阵/数组: 现在让我们变得聪明: 等一下 左上和右下部分是对称的。如果我选择了较小的阵列怎么办? 好.... 只是要确保… 这是一个错误,还是我要学习一些有关NumPy数组的疯狂知识? 问题答案: 该操作返回该数组的 视图 ,这意味着未分配新数组。反过来,这意味着您正在同时读取和修改阵列。很难说出为什么某些大小或结果区域起作用的