簡體   English   中英

如何使用php從mysql數據庫中獲取具有相同字段值的多行

[英]how to fetch multiple rows with same field value from a mysql database using php

|touser| fromuser |  msg  |
|  A   |    B     | hi    |
|  A   |    B     | hello |
|  C   |    D     | bye   |
|  C   |    E     | hey   |

當我在mysql workbench中使用以下查詢時,它顯示了所有具有給定名稱的行的結果:

select * from db.table1 where touser in ('A');

輸出:

|touser| fromuser |  msg  |
|  A   |    B     | hi    |
|  A   |    B     | hello |

但是當我從php命令傳遞查詢時,結果數組只包含第一條記錄

<?php
 //connection establishing commands
 $sql="select * from db.table1 where touser in ('A')";

 $result=mysqli_query($link, $sql);

 $data=mysqli_fetch_array($result,MYSQLI_NUM);

 print_r($data);

 //other stuff;
 ?>

輸出:

    Array ( [0] => A [1] => B [2] => Hi )

我在php命令中遺漏了什么?

你是PHP只是返回MySQL結果集的第一行。

你想要替換$data=mysqli_fetch_array($result,MYSQLI_NUM);

while ($data = mysqli_fetch_array($result, MYSQLI_NUM)) {
    print_r($data);
}

這將迭代結果集的每一行。 換句話說,mysqli_fetch_array函數不會將整個結果集作為數組獲取,它只返回一行,然后將行“指針”移動到下一行。

暫無
暫無

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

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