- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在对返回数组
的数据库执行请求。我正在使用 foreach
循环来遍历这些值。
数据库(只有 1 个条目)
id | field1 | field2 | field3 | field4 | field5
---|--------|--------|--------|--------|--------
1 | value1 | | value3 | value4 | value5
PHP 源代码
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$q = mysqli_query($mysqli, "SELECT * FROM my_table");
echo "<ul>";
while($q = mysqli_fetch_array($q))
{
foreach ($q as $key => $value)
{
if($value != NULL)
{
echo "<li>".$value . "</li>";
// Line below used to show column name and corresponding value
//echo "<li><strong>{$key}</strong> / <em>{$value}</em></li>";
}
}
}
echo "</ul>";
预期的 HTML 输出
<ul>
<li>value1</li>
<li>value3</li>
<li>value4</li>
<li>value5</li>
</ul>
当前输出
<ul>
<li>1</li>
<li>1</li>
<li>value1</li>
<li>value1</li>
<li>value3</li>
<li>value3</li>
<li>value4</li>
<li>value4</li>
<li>value5</li>
<li>value5</li>
</ul>
当前问题
如您所见,我目前的所有内容都是双倍的,出于某种奇怪的原因,我正在获取行 ID,或者我假设考虑到在向数据库中添加新行时我没有获得第二行.
备用代码
使用注释行,我得到了这个输出:
<ul>
<li>0 / 1</li>
<li>id / 1</li>
<li>1 / value1</li>
<li>field1 / value1</li>
<li>3 / value3</li>
<li>field3 / value3</li>
<li>4 / value4</li>
<li>field4 / value4</li>
<li>5 / value5</li>
<li>field5 / value5</li>
</ul>
据我了解
while
循环可以让我遍历数据库中的每一行。foreach
循环类似于 while
循环,但它不是遍历数据库条目,而是遍历 array< 中的键/值对
。(如果我对这些前面的陈述有误,请随时纠正我。)
大声思考
while
和 foreach
是否看起来有点多余,因为它们似乎都会解析值,可能导致我的副本...?1
)不是键吗?最佳答案
默认情况下,mysqli_fetch_array()
返回关联数组($key => $value
)和数值数组(0 => value
code>),这就是为什么你会得到重复的原因 - 一些条目以列名作为键,其他条目有一个数字索引。
如果你想要一个关联数组,你可以使用:
mysqli_fetch_array($q, MYSQLI_ASSOC);
//or
mysqli_fetch_assoc($q);
或者对于数值数组:
mysqli_fetch_array($q, MYSQLI_NUM);
//or
mysqli_fetch_row($q);
更多信息:http://www.php.net/manual/en/mysqli-result.fetch-array.php
关于php - mysqli_fetch_array() foreach 循环重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20649330/
我有这个 SQL 命令: SELECT Username FROM Family WHERE Parent = '$Username' LIMIT 10 当我在我的 PHPMyAdmin 上运行该命令
为什么我的数组因为 mysqli_fecth 数组而出错?我可以对代码做的事情是真实的,因为我是这方面的初学者。我将我的代码更改为 mysqli_fetch_assoc() 但错误是一样的。 这是我编
我对 MySQL 和 PHP 都很陌生。但我试图列出我的数据库中正确的结果。但只得到一些结果。 这是我的 SQL,当我尝试直接连接到数据库时,我得到了我想要的结果。 $sql = "SELECT It
我有一个 php 和 mysql 脚本,我想在其中根据 mysql 表中找到的值创建不同的结果。 我将 horas 数组中的 te 值与该行的 hora 变量的值进行比较。如果我做其他事情,它也会做其
嘿,我正在制作一个注册页面,一切正常,但 mysqli_fetch_array 没有从数据库获取信息 $query = "INSERT INTO `users` VALUES('$fname','$l
我正在用 PHP 开发一个小型搜索引擎应用程序,但我陷入了对网站排名的困境。在代码中,我有一个简单的查询,它应该将用户查询(输入)与网站的描述相匹配。 $row2 = []; $search_word
我尝试在 Android 应用程序中创建注册登录功能。我尝试使用此 Php 文件将数据从我的应用程序发送到数据库。但是,当我单击应用程序上的注册按钮时,我收到了 br/错误。看起来 mysqli_fe
这个问题已经有答案了: get array of rows with mysqli result (2 个回答) 已关闭 7 个月前。 应该是非常基本的,但我无法让它工作。我有这个代码来迭代 mysq
我创建了一个存储有关船只信息的数据库,当我尝试在 PHP 中使用这些数据时,它起作用了,然后我向数据库添加了一些新字段,但是当我在 PHP 中使用它们时,它们返回“未定义索引:fieldName” .
当我尝试在我的 PHP 表单之一中执行 sql 语句时,出现 mysqli_fetch_array() 错误。它所做的就是在数据库中搜索用户的电子邮件并返回结果。我可以通过 dbforge 执行 SQ
This question already has answers here: multiple query same table but in different columns mysql
我有一个简单的数据库表“accounts”,其中包含 3 个条目:“user”、“pass”和“ID”。 ID 是一个整数。 我试图从表中检索 ID 并将其存储到 $_SESSION['id'] 中,
这个问题已经有答案了: Calculate distance given 2 points, latitude and longitude [duplicate] (2 个答案) 已关闭 6 年前。
我整天都在努力使用 PHP 显示 SQL 查询的结果。我在数据库中有一个名为 coins 的表,其中包含以下列:- nr_unic(即索引); - 排名; - 姓名; - 符号; - price_us
我已经在 phpMyAdmin 中检查了我的 Sql 语句,它返回了多个结果,但是当我将它作为 php 脚本运行时,它没有返回任何内容。谁能告诉我我犯了什么错误? $row[0],
我正在尝试使用以下代码(在 $host 等中使用适当的值)对小型 mysql 数据库进行非常非常简单的查询: $result = mysqli_query($connection, "select u
我制作了一个表单,用户可以在其中从下拉字段中选择不同的选项。所选选项应保存在数据库中的另一个表中。所以这就是我所做的: 从数据库中获取下拉列表的数据: include 'inc/database.ph
这个问题在这里已经有了答案: get array of rows with mysqli result (2 个答案) 关闭 8 天前。 应该是非常基本的,但我无法让它工作。我有这段代码来遍历 my
我看到 mysqli_fetch_array() 之间的比较和 mysqli_fetch_all()这就是说 mysqli_fetch_all()这将需要更多的内存,我将不得不遍历数组。 mysqli
mysqli_fetch_array() 函数在返回每个值时是否删除它?如果不是,我如何在完成循环后回到数组的顶部? 我需要多次遍历该列表,因为我正在使用它来生成唯一的用户名(如果已被使用,则在末
我是一名优秀的程序员,十分优秀!