我有一个非常奇怪的情况,我的while循环有时'工作和有时'不,但我找不到共同点。我基本上是从PHP中的存储过程中提取数组,这是我以前做过很多次的事情。
首先,我有这个:
$rowpayments = mssql_fetch_assoc($rspayreview);
echo '<!-- DEBUG '; var_dump($rowpayments); echo ' -->';
此特定代码在每个实例中输出数组。
但是当我尝试while
结果并输出它们时,有时循环并没有得到调试代码。
while($payinfo = mssql_fetch_assoc($rspayreview)) {
echo '<!-- DEBUG CHECK 2 !-->';
//echo $payinfo['CardholderName'];
// other examples
}
有时间调试检查2甚至没有触发,但是,有时候它确实会显示数组中的所有内容。
供您参考,这是一个var_dump示例,它输出但尚未显示在while循环中。
<!-- DEBUG array(7) {
["ResIDLink"]=>
int(165476)
["PayDate"]=>
string(26) "Mar 16 2015"
["CardholderName"]=>
string(13) "xxxx"
["Right4CCNum"]=>
string(4) "4984"
["ChargeAmount"]=>
float(300)
["Paid"]=>
int(1)
["CCType"]=>
string(4) "VISA"
}
有人对此有任何想法吗?非常感谢。
编辑,作为一个FYI,我尝试使用foreach
,但是,它最终会给我Illegal string offset
错误。
foreach( $rowpayments as $payinfo ) {