我想知道如何在数组中存储值,因为我只能echo
$row['Name']
,但如果我想在数组中存储多个值,我什么也得不到。
$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$conn) {
die ('Failed to connect to MySQL: ' . mysqli_connect_error());
}
$sql = "SELECT * FROM " . $dbname . " WHERE id ='$id'";
$query = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($query)) {
$thisArray[] = array( $row['Name'],$row['accountNumber']);
}
echo $thisArray[0];
答案 0 :(得分:2)
由于您只想将SQL语句的结果加载到数组中,因此可以使用mysqli_fetch_all()
并只获取所需的列。
输出结果时,应输出数组print_r()
...
$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$conn) {
die ('Failed to connect to MySQL: ' . mysqli_connect_error());
}
$sql = "SELECT Name,accountNumber FROM " . $dbname . " WHERE id ='$id'";
$query = mysqli_query($conn, $sql);
$thisArray = mysqli_fetch_all($query, MYSQLI_ASSOC);
print_r( $thisArray[0]);
<强>更新强>
如果您想通过其中一列重新排列数组键,array_column()
可以执行此操作...
$thisArray = array_column($thisArray, 'accountNumber', 'Name');
答案 1 :(得分:0)
您必须首先在循环外部初始化阵列,当您回显它时,除非需要特定的密钥,否则不需要指定密钥。 根据您的上述代码:
$thisArray = [];
while ($row = mysqli_fetch_array($query)) {
$thisArray[] = [
$row['Name'],
$row['accountNumber']
];
}
echo $thisArray;