从单个列中获取表中所有行的MySQLi数据。 PHP

时间:2015-10-11 00:44:24

标签: php mysqli

我有一张表,可以为所有用户分配一个ID号。我正在尝试获取所有这些ID并将它们添加到一个数组中以便与foreach一起使用。我在下面使用的方法对我不起作用。该数组未使用MYSQLi中的数据填充。任何人都可以发现任何问题吗?

<?php 
    $servername = "localhost";
    $username = "dasusername";
    $password = "daspassword";
    $dbname = "notadummy";

    $conn = new mysqli($servername, $username, $password, $dbname);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    $result = mysql_query("SELECT userid FROM vms_users");

    $data = array();
    while(($row = mysql_fetch_array($result))) {
        $data[] = $row['userid'];
    }

    print_r(array_values($data));

    $conn->close();
?>

1 个答案:

答案 0 :(得分:2)

我发现了一个错误:) 感谢@ icecub 指出错字。

您使用mysqli进行连接,但使用querying extracting object和mysql

所以改变以下部分

$result = mysql_query("SELECT userid FROM vms_users");
//       ^ here
$data = array();
while(($row = mysql_fetch_array($result))) {
    //       ^ here
    $data[] = $row['userid'];
}

$result = $conn->query("SELECT userid FROM vms_users");

$data = array();
while($row = $result->fetch_assoc()) {
    $data[] = $row['userid'];
}

这应该可以正常工作。