我有这段代码可以在我的本地 XAMPP 测试服务器上运行。问题是,当推送到生产服务器时,它会中断。这不是数据库连接的问题,并且 PHP/MySQL 在生产服务器上都是 5.3,所以它不是使用旧版本。我认为这是使用 foreach 循环而不是更标准的 while 循环;如果是这样,为什么?
<?php
$res = $mysqli->query('DESCRIBE '.$table);
$columnCount = 0;
echo '<ul>';
foreach($res as $field) {
if(in_array($field["Field"], $sheetData[0])) {
echo '<li>';
//var_dump($field);
echo $field['Field'].' - '.$field['Type'];
echo "</li>\r\n";
$columnCount++;
}
}
echo '</ul>';
?>
编辑:澄清一下,它根本不输出任何东西;在循环内插入一个简单的 echo 语句时,它似乎甚至没有执行它。
EDIT2:我在下面添加了一个答案,该答案更详细地说明了这里的实际问题以及为什么此代码在某些条件下确实有效。