我有一个mysql表,如下所示:

id | id_transaction | id_item    |
1  |  it0001        | T0001      |
2  |  it0001        | T0002      |
2  |  it0001        | T0003      |
3  |  it0002        | T0001      |
4  |  it0002        | T0003      |
5  |  it0003        | T0003      |
6  |  it0003        | T0004      |

我正试图建立一个多维数组,最终看起来是这样的:
Array
(
    array('T0001','T0002','T0003'),

    array('T0001','T0003'),

    array('T0003','T0004'),

);

我正在使用选择查询:
$result = mysql_query("SELECT id_item,id_transaction from transaction_item ")or die("<br/><br/>".mysql_error());

有人知道怎么做吗?

最佳答案

1.不要使用mysql_*它现在已经被弃用+删除。为此使用mysqli_*PDO
2.查询执行后,您没有执行任何操作。
Amysqli_*版本代码是:-

 <?php
     $dbhost = 'localhost'; //change credentails
     $dbuser = 'root';//change credentails
     $dbpass = '';//change credentails
     $dbname = 'TUTORIALS';//change credentails
     $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);

     if(! $conn ) {
        die('Could not connect: ' . mysqli_error());
     }
     $sql = 'SELECT id_item,id_transaction from transaction_item';
     $result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
     $final_array = array();
     if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {
           $final_array[$row['id_transaction']][] = $row['id_item'];
        }
        echo "<pre/>";print_r(array_values($final_array));
     } else {
        echo "0 results";
     }
     mysqli_close($conn);

?>

关于php - 来自MySQL的PHP​​多维数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46010897/

10-11 05:28