0

このクエリを実行しようとしていますが、「Undefined index:lname」というエラーが発生しました。テーブルaの1つの列(fname)から行をカウントし、他のテーブルbから列(lname)を選択したいと思います。助けてください。

    $result = mysql_query("SELECT COUNT(fname),lname FROM a,b");
    while ($row = mysql_fetch_array($result))
    {
      echo "<tr><td>";
      echo $row['lname'];
      echo "</td>";
      echo "<td>";
      echo $row['COUNT(fname)'];
      echo "</td></tr>";
    }
4

3 に答える 3

3

それでもエラーが発生する場合は、両方を別々にフェッチしてみてください。

$result = mysql_query("SELECT COUNT(fname) FROM a");
while ($row = mysql_fetch_array($result))
  {
    echo "<tr><td>";
    echo $row['COUNT(fname)'];
    echo "</td></tr>";

  }

$result1 = mysql_query("SELECT lname FROM b");
while ($row = mysql_fetch_array($result1))
    {
      echo "<tr><td>";
      echo $row['lname'];
      echo "</td></tr>";
   }
于 2012-10-22T18:55:44.587 に答える
2

エイリアスを使用する必要があります。これを使って:

$result = mysql_query("SELECT COUNT(fname) AS countfname,lname FROM a,b");
while ($row = mysql_fetch_array($result))
{
  echo "<tr><td>";
  echo $row['lname'];
  echo "</td>";
  echo "<td>";
  echo $row['countfname'];
  echo "</td></tr>";
}
于 2012-10-18T13:41:59.223 に答える
1

このコードを試してください:

$result = mysql_query("SELECT COUNT(a.fname) as fname,b.lname as lname FROM a,b");
while ($row = mysql_fetch_array($result))
{
  echo "<tr><td>";
  echo $row['lname'];
  echo "</td>";
  echo "<td>";
  echo $row['COUNT(fname)'];
  echo "</td></tr>";
}
于 2012-10-18T13:51:13.907 に答える