簡體   English   中英

顯示多個具有相同第一個值的行

[英]Display more than one row with the same first value

我正在嘗試查看某個字段的所有值,只要username='entered username' 我的問題是,我只能在while循環中執行此操作,並在while循環內打印出結果,因此我無法在while循環外使用結果。 還有其他方法嗎? 這是我當前的代碼。

    $query = mysql_query("SELECT * FROM databse WHERE username='$username'");
    $numrows = mysql_num_rows($query);

    while ($row = mysql_fetch_assoc($query)){

        $message= $row['message'];

        print_r ($message);

    }
    mysql_close();

您可以執行以下操作:

$query = mysql_query("SELECT * FROM databse WHERE username='$username'");
$numrows = mysql_num_rows($query);
$result = array();
while ($row = mysql_fetch_assoc($query)){
    $result[] = $row;
}
print_r ($result);
mysql_close();
  • 如果$username包含單引號,您的查詢將返回錯誤(解決方案:將其轉義或使用PDO)
  • 如果$username來自用戶輸入,則查詢將具有嚴重的安全性問題(再次解決:請正確地對其進行轉義,或者最好使用PDO)

您可以將結果存儲在數組中。

$messages = array();
while ($row = mysql_fetch_assoc($query)){
    $messages[] = $row['message'];
}
print_r($messages);

嘗試打印所有“消息”結果

$query = mysql_query("SELECT * FROM databse WHERE username='$username'");
$numrows = mysql_num_rows($query);
$datas = array();
while ($row = mysql_fetch_assoc($query)){
    $message= $row['message'];
    $datas[] = $message;
}
print_r ($datas);
mysql_close();

暫無
暫無

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

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