[英]How to get single column values using MySQLi?
我正在尝试从 MySQL 数据库中获取一维数组中的列表或电子邮件。 但是,我得到的是多维数组,而不是数组:
$query = "SELECT DISTINCT `EmailAddress` FROM `Emails` WHERE `JobID` = 1";
$result = $conn->query($query);
if (!$result) {
printf("Query failed: %s\n", $mysqli->error);
exit;
}
while ($row = $result->fetch_row()) {
$rows[] = $row;
}
$result->close();
$conn->close();
var_dump($rows); // This will return array(2) { [0]=> array(1) { [0]=> string(24) "abc@abc.com" } [1]=> array(1) { [0]=> string(17) "hello@gmail.com" } }
//This is how array should be
$MyV = array("abc@abc.com", "hello@gmail.com");
var_dump($MyV); //this is an array I need to have: array(2) { [0]=> string(11) "Abc@abc.com" [1]=> string(11) "hello@g.com" }
while($row = $result->fetch_assoc()) {
$rows[]=$row['EmailAddress'];
}
在循环中的这一点,您可以访问您正在谈论的简单数组。
while($row = $result->fetch_row()) {
$rows[]=$row;
}
因此,如果您想对该数组执行任何操作,请将其分配给某个变量或使用该数组调用函数,如下所示:
while($row = $result->fetch_row()) {
doSomethingFun($row);
}
上面的答案是正确的,但这里有一个示例,其中对您当前的源代码进行了最少的修改。
while($row = $result->fetch_row()) {
$rows[]=$row[0];
}
现在$rows
将是一个填充有电子邮件地址的一维数组。
您还可以使用foreach
并将单列保存到新数组中。
foreach ($result as $row) {
$rows[] = $row['EmailAddress'];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.