Php mysqli_fetch_数组为我提供了重复的行

Php mysqli_fetch_数组为我提供了重复的行,php,mysql,Php,Mysql,我有以下SQL命令: SELECT Username FROM Family WHERE Parent = '$Username' LIMIT 10 当我在PHPMyAdmin上运行该命令并在其上放置一些$Username时,结果如下: +----------+ | Username | +----------+ | johndoe | +----------+ 但当我尝试创建这样的函数时: function userParent($Username) { global $con; $Re

我有以下SQL命令:

SELECT Username FROM Family WHERE Parent = '$Username' LIMIT 10
当我在PHPMyAdmin上运行该命令并在其上放置一些$Username时,结果如下:

+----------+
| Username |
+----------+
| johndoe  |
+----------+
但当我尝试创建这样的函数时:

function userParent($Username)
{
global $con;
$Result = mysqli_query($con, "SELECT Username FROM Family WHERE Parent = '$Username' LIMIT 10");
$Result = mysqli_fetch_array($Result);
return $Result; 
}
$Parent = userParent('james');
foreach ($Parent as $value){
echo $value . '<br>';
}
我得到了这个数组作为回报:

Array ( [0] => johndoe [Username] => johndoe ) 
因此,当我使用foreach循环在脚本上“调用”该函数时,如下所示:

function userParent($Username)
{
global $con;
$Result = mysqli_query($con, "SELECT Username FROM Family WHERE Parent = '$Username' LIMIT 10");
$Result = mysqli_fetch_array($Result);
return $Result; 
}
$Parent = userParent('james');
foreach ($Parent as $value){
echo $value . '<br>';
}
$Parent=userParent('james');
foreach($Parent作为$value){
回显$value。“
”; }
我总是有重复的“约翰多”作为回报。我相信这是由mysqli\u fetch\u数组造成的重复行。如何解决mysqli\u fetch\u数组中的重复行


谢谢

请参阅mysqli\u fetch\u assoc。此函数省略数字索引数组部分。

mysqli\u fetch\u array()
返回MySQL结果的关联数组和基于数字的数组。请改用。

它不是一个复制品,而是在中记录的。默认情况下,该函数返回一个双键数组(数字+字符串)。如果只需要一种类型,则使用特定的

mysqli_fetch_row() [numeric only]
mysqli_fetch_assoc() [keyed only]
or
mysqli_fetch_array($result, $fetch_mode);
检查文档:,它正在返回它应该返回的内容

默认情况下,它同时使用
MYSQLI\u
,因此数组同时具有*数字键和关联键。将
MYSQLI_ASSOC
MYSQLI_NUM
作为第二个参数传递给
MYSQLI_fetch_数组
,以仅获取一种索引类型

$Result = mysqli_fetch_array($Result, MYSQLI_NUM);

@bwoebi:他不是在说mysql。你在使用mysqli,但完全无视它。如果您使用,您将不会有任何令人讨厌的SQL注入错误,就像您在这里看到的那样。