Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将mysqli查询结果读入多维数组_Php_Multidimensional Array_Mysqli - Fatal编程技术网

Php 将mysqli查询结果读入多维数组

Php 将mysqli查询结果读入多维数组,php,multidimensional-array,mysqli,Php,Multidimensional Array,Mysqli,我有一个基于用户输入序列从MySQL数据库读取数据的代码,我希望所有结果都存储到多维数组中,以便在后面的部分中使用。但是,代码将只存储最后一个数组,而不是每个数组。我的代码有什么问题吗 for($i = 0 ; $i < sizeof($up_gene) ; $i ++){ $geneName = $up_gene[$i]; $mysql = "SELECT * FROM clmap WHERE GeneID = '$geneName'"; $result = my

我有一个基于用户输入序列从MySQL数据库读取数据的代码,我希望所有结果都存储到多维数组中,以便在后面的部分中使用。但是,代码将只存储最后一个数组,而不是每个数组。我的代码有什么问题吗

for($i = 0 ; $i < sizeof($up_gene) ; $i ++){
    $geneName = $up_gene[$i];
    $mysql = "SELECT * FROM clmap WHERE GeneID = '$geneName'";
    $result = mysqli_query($con, $mysql);
    $row = mysqli_fetch_array($result , MYSQLI_NUM);
    $up_temp[$i] = $row;
}
如果我输入
GeneID
列表,例如
FR2L1
ALDH1A1
ABAT
AAAS
, 输出数组将仅具有最后一个数组的值,在本例中,该数组为
$up\u temp[3]
,从
$up\u temp[0]
$up\u temp[2]
的其余数组为空。数据库中有数百万行,但我只需要选择用户的输入
GeneID

打印的输出($up\u temp[3])

数组([0]=>F2RL1[1]=>1390[2]=>6764[3]=>4316[4]=>1051 [5] => 11654 [6] => 1871 [7] => 8863 [8] => 1245 [9] => 6438 [10] => 12693 [11] => 7525 [12] => 10372 [13] => 10625 [14] => 7114 [15] => 12180 [16] => 2760 [17] => 375 [18] => 12525 [19] => 2828 [20] => 6938 [21] => 5926 [22] => 8906 [23] => 9372 [24] => 6341 [25] => 1427 [26] => 3858 [27] => 1194 [28] => 3510 [29] => 2462 [30] => 3301 [31] => 1909 [32] => 3816 [33] => 8901 [34] => 5361 [35] => 2711 [36] => 5294 [37] => 6138 [38] => 10272 [39] => 9893 [40] => 1205 [41] => 10868 [42] => 3016 [43] => 1601 [44] => 315 [45] => 2577 [46] => 6226 [47] => 274 [48] => 1573 [49] => 2681 [50] => 1447 [51] => 5375 [52] => 1381 [53] => 6405 [54] => 11033 [55] => 7915 [56] => 8293 [57] => 3446 [58] => 231 [59] => 9772 [60] => 4684 [61] => 432 [62] => 1815 [63] => 10904 [64] => 41 [65] => 4647 [66] => 3238 [67] => 5488 [68] => 2340 [69] => 4925 [70] => 2513 [71] => 911 [72] => 3736 [73] => 6593 [74] => 1441 [75] => 3098 [76] => 2976 [77] => 4665 [78] => 8056 [79] => 10717 [80] => 53 [81] => 4159 [82] => 9920 [83] => 5673 [84] => 12146 [85] => 2072 [86] => 4753 [87] => 9678 [88] => 6811 [89] => 7519 [90] => 10708 [91] => 1215 [92] => 6837 [93] => 6817 [94] => 6085 [95] => 7160 [96] => 9059 [97] => 7729 [98] => 5330 [99] => 179 [100] => 1020 [101] => 8672 [102] => 9971 [103] => 7189 [104] => 2307 [105] => 2849 [106] => 4897 [107] => 1229 [108] => 11588 [109] => 1923 [110] => 12715 [111] => 2099 [112] => 12035 [113] => 4062 [114] => 1416 [115] => 547 [116] => 1915 [117] => 7689 [118] => 6641 [119] => 11312 [120] => 7079 [121] => 8564 [122] => 2156 [123] => 539 [124] => 4850 [125] => 10205 [126] => 1756 [127] => 1266 [128] => 3468 [129] => 7341 [130] => 8809 [131] => 11949 [132] => 10126 [133] => 3436 [134] => 8066 [135] => 3116 [136] => 4155 [137] => 1637 [138] => 1717 [139] => 2045 [140]=>7511)

print\r($up\u temp[0])
print\r($up\u temp[2])
的输出:空



更新:原来我的
$up\u gene
变量没有正确输入,只是意识到每个变量后面都有空格,这导致MySQL查询返回前几个变量为空。上面的代码确实可以正常工作。

请尝试这样做:

$up_temp = array();
$sql = "select * from clmap where GeneID in(".implode(",",$up_gene).");";
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($result , MYSQLI_NUM)){
    $up_temp[] = $row;
}

内爆数组
$up\u gene
,使所有ID都是逗号分隔的字符串。然后在中使用mysql
获取所有具有您的ID之一的行。至少运行
while
循环并将$row数组存储到多维数组$up\u temp

尝试如下操作:

$up_temp = array();
$sql = "select * from clmap where GeneID in(".implode(",",$up_gene).");";
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($result , MYSQLI_NUM)){
    $up_temp[] = $row;
}

内爆数组
$up\u gene
,使所有ID都是逗号分隔的字符串。然后在
中使用mysql
获取所有具有您的ID之一的行。至少运行
while
循环并将$row数组存储到多维数组$up\u temp

mysqli\u fetch\u数组作为mysqli\u fetch\u assoc($result,$result)mysqli\u fetch\u数组作为mysqli\u fetch\u assoc($result,$result)原来是我的
$up\u gene
变量问题。你的代码帮助我改进代码,所以我接受你的答案。谢谢。原来是我的
$up\u基因
变量问题。你的代码帮助我改进代码,所以我接受你的答案。谢谢