gpt4 book ai didi

PHP 在单个结果时显示字符串的第一个字符,但在多个结果时显示完整字符串

转载 作者:行者123 更新时间:2023-11-29 10:27:24 24 4
gpt4 key购买 nike

所以我遇到的问题是我有一个通过 PHP 填充的选择字段。查询 MySQL DB,PHP 处理返回的数组,将其打印到选择字段的选项中。

但是,当从数据库返回单个结果时,仅显示字符串的第一个字符。如果返回多个结果,则所有结果都会完整显示。我已经检查过,当返回单个结果时,字符串本身是正确的,确实如此,所以我不认为这是数据检索的问题。此外,也不会生成任何错误,因此无法提供有关哪里出了问题的线索。

我尝试查找其他 StackOverflow 帖子来描述此问题,但没有找到任何内容,也无法在互联网上的其他地方找到任何内容。

这是收集结果的数据库存储过程:

BEGIN
SELECT BranchID, City FROM Branch;
END

然后这个 PHP 将该数据转换为关联数组:

$result = $currentconnection->DBQuery("CALL Fetch_Branch_City_All()");
if( !$result) die($mysql->error);
while($row = $result->fetch_assoc()){
$BranchID = $row["BranchID"];
$CityName = $row["City"];
$results = $this->array_push_assoc($results, 'BranchID', $BranchID);
$results = $this->array_push_assoc($results, 'CityName', $CityName);
}

这是一段中间代码,它调用上面的函数并通过 $Query 变量使其可供下面的代码使用。

$Query = $pModel->fetchBranchCity();

最后,此代码从数组数据中创建选择:

<?php //Note if only one branch in system, displays single character
extract($Query, EXTR_OVERWRITE);

for ($a = 0; $a < count($BranchID); ++$a) {
if($BranchID[$a] == $BranchIDText){ ?>
<option value="<?=$BranchID[$a]?>" selected="selected"> <?=$CityName[$a]?> </option>
<?php }else{ ?>
<option value="<?=$BranchID[$a]?>"> <?=$CityName[$a]?> </option>
<?php }
}
?>

最佳答案

它与提取有关,虽然 $result 始终是一个数组,但 $BranchID 和 $CityName 并不总是数组。

因此,当它们有一个值时,它们不是数组,只是字符串,循环遍历它们会从数组中提取字符而不是整个字符串。

如果您需要帮助处理代码中的此异常,请告诉我。

提示:is_array

关于PHP 在单个结果时显示字符串的第一个字符,但在多个结果时显示完整字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48046951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com