簡體   English   中英

如何從 $row[id] 獲取單個元素

[英]How to get single element from $row[id]

我正在為 PHPBB 開發一個項目。 我有一個問題,我得到了一些 $row 類型。 他們有一些來自 MySQL 的“id”,但我想要這些“id”一個一個。

這是 SQL 查詢;

$sql = $db->sql_build_query('SELECT', array(
    'SELECT'    => 'u.*, z.friend, z.foe, p.*',

    'FROM'      => array(
        USERS_TABLE     => 'u',
        POSTS_TABLE     => 'p',
    ),

    'LEFT_JOIN' => array(
        array(
            'FROM'  => array(ZEBRA_TABLE => 'z'),
            'ON'    => 'z.user_id = ' . $user->data['user_id'] . ' AND z.zebra_id = p.poster_id'
        )
    ),

    'WHERE'     => $db->sql_in_set('p.post_id', $post_list) . '
        AND u.user_id = p.poster_id'
));

$result = $db->sql_query($sql);

然后對於 user_id 的

$rowset[$row['post_id']] = array(
        'hide_post'         => ($row['foe'] && ($view != 'show' || $post_id != $row['post_id'])) ? true : false,

        'user_id'           => $row['user_id'],
.
.

我在一個主題中記錄了 $row[user_id] 並返回;

  • 97777
  • 97778
  • 97779
  • 97783

但我只想要第一個 id 我的意思是 -> "97777" 。 那么如何將“97777”傳遞給變量呢?

不要建議 sql 級別,因為我無法更改任何 SQL 命令。

不要建議 sql 級別,因為我無法更改任何 SQL 命令。

這就是問題所在,您的 PHP 顯然選擇了所有 9 行;

使用 WHERE user_id = '97777' 您將只選擇您想要的記錄。

為什么不能編輯SQL? 您不熟悉 SQL 還是您正在使用自己的代碼?

沒有任何代碼很難說出你想做什么:

reset($row);
$first_key = key($row);

或者

reset($rows);
$first_key = key($rows);

沒有看到任何代碼就很難猜到。

您可以使用 LIMIT 子句限制您的記錄。

SELECT column_name FROM table_name LIMIT 1;

它將返回該表的第一條記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM