PHP MySQL结果返回两倍的值
我有一个页面,它将SQL查询的一些结果返回给MysQL数据库。出于某种原因,它会将每个值返回两次,我认为这是因为它存储在数据库中,既有数字索引,也有字符串索引。如何仅提取具有字符串索引的索引和值,而忽略具有整数索引的索引和值 我用来生成表的函数如下所示:PHP MySQL结果返回两倍的值,php,mysql,html,Php,Mysql,Html,我有一个页面,它将SQL查询的一些结果返回给MysQL数据库。出于某种原因,它会将每个值返回两次,我认为这是因为它存储在数据库中,既有数字索引,也有字符串索引。如何仅提取具有字符串索引的索引和值,而忽略具有整数索引的索引和值 我用来生成表的函数如下所示: function SQLtable($answer) { $result = "<table class=\"SQLresult\">"; $row = mysql_fetch_array($answer); //TODO ch
function SQLtable($answer) {
$result = "<table class=\"SQLresult\">";
$row = mysql_fetch_array($answer);
//TODO check for empty table here and return a message if empty
$result .= "<tr>";
foreach (array_keys($row) AS $heading) {
$result .= "<th>$heading</th>";
}
$result .= "</tr>";
do {
$result .= "<tr>";
foreach($row as $cell) {
$result .= "<td>".$cell."</td>";
}
$result .= "</tr>";
}
while ($row = mysql_fetch_array($answer));
$result .= "</table>";
return $result;
}
我也尝试过明确地要求提供专栏,但我也遇到了同样的问题
$query = "SELECT firstname,lastname,jurisdiction,party,riding FROM politicians";
默认情况下,将返回一个包含关联数组和行的常规数字键控结果集的哈希。要获取一个或另一个,请使用mysql\u fetch\u row()
(数组)或mysql\u fetch\u assoc()
(散列),或使用可选的第二个参数指定所需的类型,如其手册页中所述(上面链接)
这些是等价物:
mysql_fetch_assoc($result) -> mysql_fetch_array($result, MYSQL_ASSOC);
mysql_fetch_row($result) -> mysql_fetch_array($result, MYSQL_NUM);
mysql_fetch_array($result) -> mysql_fetch_array($result, MYSQL_BOTH);
可以发布用于从表中检索数据的SQL吗。这是最有可能需要改变的。非常感谢你,马克!这正是我想要的。
mysql_fetch_assoc($result) -> mysql_fetch_array($result, MYSQL_ASSOC);
mysql_fetch_row($result) -> mysql_fetch_array($result, MYSQL_NUM);
mysql_fetch_array($result) -> mysql_fetch_array($result, MYSQL_BOTH);