一切正常,但输出列出两次.
所以它回声:’输出”输出”输出b”输出b”输出c”输出c’等等.
当我在phpmyadmin中执行mysql查询时,一切都只列出一次.
有任何想法吗?
我的代码正在做的是获得多对多字段
$something = mysql_query('select UserID from users where Username ="'. $username .'"');
while ($row = mysql_fetch_array($something)) {
$barf = $row['UserID'];
}
$result = mysql_query('SELECT name FROM items p LEFT JOIN list up ON p.item_id = up.item_id WHERE up.UserID = "' . $barf . '"');
while ($r = mysql_fetch_array($result)) {
foreach($r as $uue) {
echo $uue . '
';}
}
}
?>
解决方法:
试试这段代码:
while ($r = mysql_fetch_assoc($result)){
foreach($r as $uue) {
echo $uue . '
';
}
}
您得到重复的结果,因为默认情况下(MYSQL_BOTH标志)mysql_fetch_array返回2x大小的数组:number-indexed string-indexed.
因此,例如$r [0]和$r [‘name’]将是数组中包含相同值的不同元素.
此外,您应该停止使用mysql_ *,因为它已被弃用.阅读mysqli_ *函数.
标签:php,mysql,many-to-many,double
来源: https://codeday.me/bug/20190729/1567643.html