我正在循环查看 MySQL 结果,但遇到了问题。问题是只有我的第一个 if
语句正在执行。我的其余 if 语句返回空字符串。让我困惑的是:当我删除 while 循环中的第一个 if 语句时,下一个 if 语句将返回数据,但其下面的所有其他语句都不会。
这是我的相关代码:
// Get Addresses
$queryAddresses = "SELECT * FROM contact_addresses WHERE contact_id = $contactID";
$resultAddresses = mysqli_query($dbc, $queryAddresses);
$numAddresses = mysqli_num_rows($resultAddresses);
if ($numAddresses >= 1) {
$address_labels = '';
$addresses = '';
while ($address = mysqli_fetch_array($resultAddresses, MYSQLI_ASSOC)) {
$address_labels .= $address['label'].'<br>';
if (!empty($address['address'])) {
$address = $address['address'].', ';
} else {
$address = '';
}
/* ALL OF THE IF STATEMENTS BELOW THIS LINE RETURN EMPTY STRINGS EVEN THOUGH THE INFORMATION IS STORED IN THE DATABASE. */
if (!empty($address['address_two'])) {
$address_two = $address['address_two'].', ';
} else {
$address_two = '';
}
if (!empty($address['city'])) {
$city = $address['city'].', ';
} else {
$city = '';
}
if (!empty($address['state'])) {
$state = $address['state'].', ';
} else {
$state = '';
}
if (!empty($address['zip'])) {
$zip = $address['zip'].', ';
} else {
$zip = '';
}
if (!empty($address['country'])) {
$country = $address['country'].', ';
} else {
$country = '';
}
$addresses .= $address.''.$address_two.''.$city.''.$state.''.$zip.''.$country.'<br>';
}
}
最佳答案
使用 $address = $address['address'].', ';
行,您将用新字符串替换 $address
数组并清除大批。尝试更改字符串变量名称:
if (!empty($address['address'])) {
$address_one = $address['address'].', ';
} else {
$address_one = '';
}
if (!empty($address['address_two'])) {
$address_two = $address['address_two'].', ';
} else {
$address_two = '';
}
if (!empty($address['city'])) {
$city = $address['city'].', ';
} else {
$city = '';
}
if (!empty($address['state'])) {
$state = $address['state'].', ';
} else {
$state = '';
}
if (!empty($address['zip'])) {
$zip = $address['zip'].', ';
} else {
$zip = '';
}
if (!empty($address['country'])) {
$country = $address['country'].', ';
} else {
$country = '';
}
$addresses .= $address_one.''.$address_two.''.$city.''.$state.''.$zip.''.$country.'<br>';
关于php - 如何在 PHP 中通过 while 循环检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28956637/