0

私は2つのテーブルUser、Contact_Listを持つデータベースを持っています。

たとえば、ユーザー テーブルは次のようになります。

  U_id | U_email | U_password | U_mobileNo | U_name |
  ---------------------------------------------------
  1    | a@b.c   | aaa        | 1234567    | Adam   |

  2    | b@b.c   | bbb        | 1234567    | Ben    |

  3    | c@b.c   | ccc        | 1234567    | Carl   |

Contact_list テーブルは次のようになります。このテーブルは、2 人のユーザーを関連付ける外部キーだけで構成されるテーブルです。

  U_id | U_contact_id
  -------------------
  1    |     2

  2    |     3

問題は、特定のユーザーの連絡先リストで構成されるテーブルを表示するための SQL/PHP クエリです。

この SQL クエリは正常に機能し、必要な結果が得られます。

"SELECT cu.u_name, cu.u_email 
FROM contact_list = c, user = u, user = cu
WHERE c.u_id = 2 
AND c.u_contactId = c.u_id
AND c.u_id = u.u_id"

しかし、このPHPコード:

$con = mysqli_connect("dbname","dbuser","pbpass","db");
//Check connection
if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT cu.u_name, cu.u_email 
  FROM contact_list = c, user = u, user = cu
  WHERE c.u_id = 2 
  AND c.u_contactId = c.u_id
  AND c.u_id = u.u_id" ) or die(mysql_error()); 

echo "<table border='1'>
 <th>Contact List</th>
 <tr>
 <th>Name</th>
 <th>E-mail</th>
 </tr>";

 while($row = mysqli_fetch_array($result))
 {
  echo "<tr>";
  echo "<td>" . $row['u_name'] . "</td>";
  echo "<td>" . $row['u_email'] . "</td>";
  echo "</tr>";


 }
  echo "</table>";  
  mysqli_free_result($result);
  mysqli_close($con);

?>

そのコードは、ページに空白のテーブルを印刷するだけです。

ここで何が間違っていますか?

私は PHP を使用する完全な初心者であり、ヘルプや提案をいただければ幸いです。

4

4 に答える 4

0

$row で var_dump を実行してみてください。問題の詳細がわかる場合があります。var_dump が表示されない場合、結果が返されない場合は、mysqli_error を使用して問題の原因を特定してください。

 mysqli_error($con);

 while($row = mysqli_fetch_array($result))
 {
     var_dump($row);
 }

ケースの問題かもしれません

$row['u_name']

かもしれない

$row['U_name']
于 2013-08-26T04:56:23.550 に答える