mysqli $query缺少一行


Missing row from mysqli $query

我有一个问题,MySqli不输出我的查询结果。

$cxn=mysqli_connect($host,$user,$pw,$dbname) or die("Error connecting to server");
if(!$cxn=mysqli_connect($host,$user,$pw,$dbname)){
        $message=mysqli_error($cxn);
        echo $message;
        die();
}
$query= "SELECT * from merchantinfo WHERE industry='Retail'";
$result=mysqli_query($cxn,$query) or die("Could not execute the query");
$row=mysqli_fetch_assoc($result);

while($row = mysqli_fetch_assoc($result))
{
extract($row);
echo "$INDUSTRY: $NAME<br/>";
}

这是我目前正在使用的表。(merchantinfo)

MerchantID    INDUSTRY    NAME              DESCRIPTION
1             Dining      Burger King       Whopper,Whoppers galore!
2             Retail      ZARA              A large clothing retailer
3             Aviation    Virgin Airlines   Lolwut

我目前得到一个完全空白的页面作为我的查询后的结果,虽然我似乎不能找出问题。我试过改变$query中的"industry"和while循环到所有大写以匹配表中的资本化,我也试过用小大写来使用它们。然而,我仍然得到一个空白页作为输出。

我还尝试将$查询更改为

$query="SELECT * FROM merchantinfo";

生成结果:

Retail:ZARA
Aviation:Virgin Airlines

如果有人能指出代码中的错误或给我指出正确的方向,我将不胜感激

谢谢!

删除:

$row=mysqli_fetch_array($result);

它正在获取您的第一行,并且是不必要的(它实际上是丢弃它)。

此外,除非您的列名是大写的,否则这将不起作用:

extract($row);
echo "$INDUSTRY: $NAME<br/>";

需要与实际的列名相同。