Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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 MySQL结果返回两倍的值_Php_Mysql_Html - Fatal编程技术网

PHP 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

我有一个页面,它将SQL查询的一些结果返回给MysQL数据库。出于某种原因,它会将每个值返回两次,我认为这是因为它存储在数据库中,既有数字索引,也有字符串索引。如何仅提取具有字符串索引的索引和值,而忽略具有整数索引的索引和值

我用来生成表的函数如下所示:

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);