0

PHP を使用して MYSQL データベースにアクセスしていますが、テーブルからデータを抽出する必要があります。問題は、取得するフィールドが 1 つしかないことです。

 $mysqli = new mysqli($hostname, $username, $password, $db_name);

        // Output error info if there was a connection problem
        if ($mysqli->connect_errno)
            die("Failed to connect to MySQL: ($mysqli->connect_errno) $mysqli->connect_error");

        $db = "SELECT username1 FROM Friends WHERE username2 = '"."$username"."' UNION SELECT username2 FROM Friends WHERE username1 = '"."$username"."'";

        $result = $mysqli->query($db) or
            die ("Wasn't able to search the database");

        while($result->fetch_field($row))
        {
            echo "<h1> $row </h1>";
        }

データベースに接続していることを保証します。また、括弧内の $row の代わりに $result->fetch_field() を使用しました。私の主な問題は、fetch_field がオブジェクトを返すことですが、PHP のすべてのマニュアルでは、フィールドが持つ実際の値をどのように抽出するかを述べていません。

4

3 に答える 3

1

クエリ内の変数$usernameが期待どおりであると確信していますか?行を返すSELECT可能性があります。0

$usernameコードで2回使用しています。
最初にmysqli-

$mysqli = new mysqli($hostname, $username, $password, $db_name);
                                --------- 

そして再びあなたの中でSELECT-

$db = "SELECT username1 FROM Friends WHERE username2 = '"."$username"."' UNION SELECT username2 FROM Friends WHERE username1 = '"."$username"."'";
                                                           ---------                                                               ---------

追加してみてください

if ($result->num_rows > 0){
  while ($row = $result->fetch_row()) {
  echo "<h1>".$row[0]."</h1>";}
}
else {echo "No Query / Returned 0 Rows";}
于 2012-11-24T03:23:55.123 に答える
0

次のように、結果から配列を取得してみてください。

while($row = fetch_assoc($result))
    {
        echo "<h1> $row['username1'].''.$row['username2'] </h1>";
    }

私は、すべてのレコードに username1 と username2 の両方が NOT NULL であり、それらを並べて表示していると想定しています (たとえば、姓と名のように)。

于 2012-11-24T03:17:19.290 に答える
0
while ($obj = $result->fetch_object()) {
    echo "<h1>".$obj->username1."</h1>";
}

*mysqli_fetch_object() は、オブジェクトの属性が結果セット内で見つかったフィールドの名前を表すオブジェクトとして、現在の行の結果セットを返します。*

fetch_value($table, $column, $where) 関数がないのはちょっとおかしい

于 2012-11-24T03:06:32.113 に答える